Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 243042
b: refs/heads/master
c: 3814554
h: refs/heads/master
v: v3
  • Loading branch information
Banajit Goswami authored and Kukjin Kim committed Mar 28, 2011
1 parent 05e108e commit df04063
Show file tree
Hide file tree
Showing 60 changed files with 1,779 additions and 3,934 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 036a98263a30930a329e7bb184d5e77f27358e40
refs/heads/master: 3814554d11b3f677117ab048f147d207fd66f856
2 changes: 1 addition & 1 deletion trunk/arch/arm/mach-s5p64x0/cpu.c
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ void __init s5p6450_map_io(void)
s3c_adc_setname("s3c64xx-adc");

iotable_init(s5p64x0_iodesc, ARRAY_SIZE(s5p64x0_iodesc));
iotable_init(s5p6450_iodesc, ARRAY_SIZE(s5p6440_iodesc));
iotable_init(s5p6450_iodesc, ARRAY_SIZE(s5p6450_iodesc));
}

/*
Expand Down
2 changes: 0 additions & 2 deletions trunk/arch/score/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,6 @@ menu "Machine selection"
config SCORE
def_bool y
select HAVE_GENERIC_HARDIRQS
select GENERIC_HARDIRQS_NO_DEPRECATED
select GENERIC_IRQ_SHOW

choice
prompt "System type"
Expand Down
2 changes: 1 addition & 1 deletion trunk/arch/score/include/asm/irqflags.h
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ static inline unsigned long arch_local_save_flags(void)

static inline unsigned long arch_local_irq_save(void)
{
unsigned long flags;
unsigned long flags

asm volatile(
" mfcr r8, cr0 \n"
Expand Down
53 changes: 45 additions & 8 deletions trunk/arch/score/kernel/irq.c
Original file line number Diff line number Diff line change
Expand Up @@ -52,9 +52,9 @@ asmlinkage void do_IRQ(int irq)
irq_exit();
}

static void score_mask(struct irq_data *d)
static void score_mask(unsigned int irq_nr)
{
unsigned int irq_source = 63 - d->irq;
unsigned int irq_source = 63 - irq_nr;

if (irq_source < 32)
__raw_writel((__raw_readl(SCORE_PIC + INT_MASKL) | \
Expand All @@ -64,9 +64,9 @@ static void score_mask(struct irq_data *d)
(1 << (irq_source - 32))), SCORE_PIC + INT_MASKH);
}

static void score_unmask(struct irq_data *d)
static void score_unmask(unsigned int irq_nr)
{
unsigned int irq_source = 63 - d->irq;
unsigned int irq_source = 63 - irq_nr;

if (irq_source < 32)
__raw_writel((__raw_readl(SCORE_PIC + INT_MASKL) & \
Expand All @@ -78,9 +78,9 @@ static void score_unmask(struct irq_data *d)

struct irq_chip score_irq_chip = {
.name = "Score7-level",
.irq_mask = score_mask,
.irq_mask_ack = score_mask,
.irq_unmask = score_unmask,
.mask = score_mask,
.mask_ack = score_mask,
.unmask = score_unmask,
};

/*
Expand All @@ -92,7 +92,7 @@ void __init init_IRQ(void)
unsigned long target_addr;

for (index = 0; index < NR_IRQS; ++index)
irq_set_chip_and_handler(index, &score_irq_chip,
set_irq_chip_and_handler(index, &score_irq_chip,
handle_level_irq);

for (target_addr = IRQ_VECTOR_BASE_ADDR;
Expand All @@ -109,3 +109,40 @@ void __init init_IRQ(void)
: : "r" (EXCEPTION_VECTOR_BASE_ADDR | \
VECTOR_ADDRESS_OFFSET_MODE16));
}

/*
* Generic, controller-independent functions:
*/
int show_interrupts(struct seq_file *p, void *v)
{
int i = *(loff_t *)v, cpu;
struct irqaction *action;
unsigned long flags;

if (i == 0) {
seq_puts(p, " ");
for_each_online_cpu(cpu)
seq_printf(p, "CPU%d ", cpu);
seq_putc(p, '\n');
}

if (i < NR_IRQS) {
spin_lock_irqsave(&irq_desc[i].lock, flags);
action = irq_desc[i].action;
if (!action)
goto unlock;

seq_printf(p, "%3d: ", i);
seq_printf(p, "%10u ", kstat_irqs(i));
seq_printf(p, " %8s", irq_desc[i].chip->name ? : "-");
seq_printf(p, " %s", action->name);
for (action = action->next; action; action = action->next)
seq_printf(p, ", %s", action->name);

seq_putc(p, '\n');
unlock:
spin_unlock_irqrestore(&irq_desc[i].lock, flags);
}

return 0;
}
1 change: 0 additions & 1 deletion trunk/arch/tile/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ config TILE
select GENERIC_IRQ_PROBE
select GENERIC_PENDING_IRQ if SMP
select GENERIC_HARDIRQS_NO_DEPRECATED
select GENERIC_IRQ_SHOW

# FIXME: investigate whether we need/want these options.
# select HAVE_IOREMAP_PROT
Expand Down
45 changes: 43 additions & 2 deletions trunk/arch/tile/kernel/irq.c
Original file line number Diff line number Diff line change
Expand Up @@ -241,14 +241,14 @@ void tile_irq_activate(unsigned int irq, int tile_irq_type)
irq_flow_handler_t handle = handle_level_irq;
if (tile_irq_type == TILE_IRQ_PERCPU)
handle = handle_percpu_irq;
irq_set_chip_and_handler(irq, &tile_irq_chip, handle);
set_irq_chip_and_handler(irq, &tile_irq_chip, handle);

/*
* Flag interrupts that are hardware-cleared so that ack()
* won't clear them.
*/
if (tile_irq_type == TILE_IRQ_HW_CLEAR)
irq_set_chip_data(irq, (void *)IS_HW_CLEARED);
set_irq_chip_data(irq, (void *)IS_HW_CLEARED);
}
EXPORT_SYMBOL(tile_irq_activate);

Expand All @@ -262,6 +262,47 @@ void ack_bad_irq(unsigned int irq)
* Generic, controller-independent functions:
*/

int show_interrupts(struct seq_file *p, void *v)
{
int i = *(loff_t *) v, j;
struct irqaction *action;
unsigned long flags;

if (i == 0) {
seq_printf(p, " ");
for (j = 0; j < NR_CPUS; j++)
if (cpu_online(j))
seq_printf(p, "CPU%-8d", j);
seq_putc(p, '\n');
}

if (i < NR_IRQS) {
struct irq_desc *desc = irq_to_desc(i);

raw_spin_lock_irqsave(&desc->lock, flags);
action = desc->action;
if (!action)
goto skip;
seq_printf(p, "%3d: ", i);
#ifndef CONFIG_SMP
seq_printf(p, "%10u ", kstat_irqs(i));
#else
for_each_online_cpu(j)
seq_printf(p, "%10u ", kstat_irqs_cpu(i, j));
#endif
seq_printf(p, " %14s", get_irq_desc_chip(desc)->name);
seq_printf(p, " %s", action->name);

for (action = action->next; action; action = action->next)
seq_printf(p, ", %s", action->name);

seq_putc(p, '\n');
skip:
raw_spin_unlock_irqrestore(&desc->lock, flags);
}
return 0;
}

#if CHIP_HAS_IPI()
int create_irq(void)
{
Expand Down
5 changes: 1 addition & 4 deletions trunk/arch/x86/crypto/aesni-intel_asm.S
Original file line number Diff line number Diff line change
Expand Up @@ -1612,7 +1612,6 @@ _zero_cipher_left_encrypt:
movdqa SHUF_MASK(%rip), %xmm10
PSHUFB_XMM %xmm10, %xmm0


ENCRYPT_SINGLE_BLOCK %xmm0, %xmm1 # Encrypt(K, Yn)
sub $16, %r11
add %r13, %r11
Expand All @@ -1635,9 +1634,7 @@ _zero_cipher_left_encrypt:
# GHASH computation for the last <16 byte block
sub %r13, %r11
add $16, %r11

movdqa SHUF_MASK(%rip), %xmm10
PSHUFB_XMM %xmm10, %xmm0
PSHUFB_XMM %xmm10, %xmm1

# shuffle xmm0 back to output as ciphertext

Expand Down
14 changes: 2 additions & 12 deletions trunk/arch/x86/crypto/aesni-intel_glue.c
Original file line number Diff line number Diff line change
Expand Up @@ -828,15 +828,9 @@ static int rfc4106_init(struct crypto_tfm *tfm)
struct cryptd_aead *cryptd_tfm;
struct aesni_rfc4106_gcm_ctx *ctx = (struct aesni_rfc4106_gcm_ctx *)
PTR_ALIGN((u8 *)crypto_tfm_ctx(tfm), AESNI_ALIGN);
struct crypto_aead *cryptd_child;
struct aesni_rfc4106_gcm_ctx *child_ctx;
cryptd_tfm = cryptd_alloc_aead("__driver-gcm-aes-aesni", 0, 0);
if (IS_ERR(cryptd_tfm))
return PTR_ERR(cryptd_tfm);

cryptd_child = cryptd_aead_child(cryptd_tfm);
child_ctx = aesni_rfc4106_gcm_ctx_get(cryptd_child);
memcpy(child_ctx, ctx, sizeof(*ctx));
ctx->cryptd_tfm = cryptd_tfm;
tfm->crt_aead.reqsize = sizeof(struct aead_request)
+ crypto_aead_reqsize(&cryptd_tfm->base);
Expand Down Expand Up @@ -929,9 +923,6 @@ static int rfc4106_set_key(struct crypto_aead *parent, const u8 *key,
int ret = 0;
struct crypto_tfm *tfm = crypto_aead_tfm(parent);
struct aesni_rfc4106_gcm_ctx *ctx = aesni_rfc4106_gcm_ctx_get(parent);
struct crypto_aead *cryptd_child = cryptd_aead_child(ctx->cryptd_tfm);
struct aesni_rfc4106_gcm_ctx *child_ctx =
aesni_rfc4106_gcm_ctx_get(cryptd_child);
u8 *new_key_mem = NULL;

if (key_len < 4) {
Expand Down Expand Up @@ -975,7 +966,6 @@ static int rfc4106_set_key(struct crypto_aead *parent, const u8 *key,
goto exit;
}
ret = rfc4106_set_hash_subkey(ctx->hash_subkey, key, key_len);
memcpy(child_ctx, ctx, sizeof(*ctx));
exit:
kfree(new_key_mem);
return ret;
Expand Down Expand Up @@ -1007,6 +997,7 @@ static int rfc4106_encrypt(struct aead_request *req)
int ret;
struct crypto_aead *tfm = crypto_aead_reqtfm(req);
struct aesni_rfc4106_gcm_ctx *ctx = aesni_rfc4106_gcm_ctx_get(tfm);
struct crypto_aead *cryptd_child = cryptd_aead_child(ctx->cryptd_tfm);

if (!irq_fpu_usable()) {
struct aead_request *cryptd_req =
Expand All @@ -1015,7 +1006,6 @@ static int rfc4106_encrypt(struct aead_request *req)
aead_request_set_tfm(cryptd_req, &ctx->cryptd_tfm->base);
return crypto_aead_encrypt(cryptd_req);
} else {
struct crypto_aead *cryptd_child = cryptd_aead_child(ctx->cryptd_tfm);
kernel_fpu_begin();
ret = cryptd_child->base.crt_aead.encrypt(req);
kernel_fpu_end();
Expand All @@ -1028,6 +1018,7 @@ static int rfc4106_decrypt(struct aead_request *req)
int ret;
struct crypto_aead *tfm = crypto_aead_reqtfm(req);
struct aesni_rfc4106_gcm_ctx *ctx = aesni_rfc4106_gcm_ctx_get(tfm);
struct crypto_aead *cryptd_child = cryptd_aead_child(ctx->cryptd_tfm);

if (!irq_fpu_usable()) {
struct aead_request *cryptd_req =
Expand All @@ -1036,7 +1027,6 @@ static int rfc4106_decrypt(struct aead_request *req)
aead_request_set_tfm(cryptd_req, &ctx->cryptd_tfm->base);
return crypto_aead_decrypt(cryptd_req);
} else {
struct crypto_aead *cryptd_child = cryptd_aead_child(ctx->cryptd_tfm);
kernel_fpu_begin();
ret = cryptd_child->base.crt_aead.decrypt(req);
kernel_fpu_end();
Expand Down
6 changes: 6 additions & 0 deletions trunk/drivers/acpi/video.c
Original file line number Diff line number Diff line change
Expand Up @@ -824,6 +824,11 @@ static void acpi_video_device_find_cap(struct acpi_video_device *device)
device->backlight->props.brightness =
acpi_video_get_brightness(device->backlight);

result = sysfs_create_link(&device->backlight->dev.kobj,
&device->dev->dev.kobj, "device");
if (result)
printk(KERN_ERR PREFIX "Create sysfs link\n");

device->cooling_dev = thermal_cooling_device_register("LCD",
device->dev, &video_cooling_ops);
if (IS_ERR(device->cooling_dev)) {
Expand Down Expand Up @@ -1376,6 +1381,7 @@ static int acpi_video_bus_put_one_device(struct acpi_video_device *device)
"Cant remove video notify handler\n");
}
if (device->backlight) {
sysfs_remove_link(&device->backlight->dev.kobj, "device");
backlight_device_unregister(device->backlight);
device->backlight = NULL;
}
Expand Down
14 changes: 8 additions & 6 deletions trunk/drivers/block/drbd/drbd_bitmap.c
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,8 @@
#include <linux/slab.h>
#include <asm/kmap_types.h>

#include <asm-generic/bitops/le.h>

#include "drbd_int.h"


Expand Down Expand Up @@ -1182,10 +1184,10 @@ static unsigned long __bm_find_next(struct drbd_conf *mdev, unsigned long bm_fo,
p_addr = __bm_map_pidx(b, bm_bit_to_page_idx(b, bm_fo), km);

if (find_zero_bit)
i = find_next_zero_bit_le(p_addr,
i = generic_find_next_zero_le_bit(p_addr,
PAGE_SIZE*8, bm_fo & BITS_PER_PAGE_MASK);
else
i = find_next_bit_le(p_addr,
i = generic_find_next_le_bit(p_addr,
PAGE_SIZE*8, bm_fo & BITS_PER_PAGE_MASK);

__bm_unmap(p_addr, km);
Expand Down Expand Up @@ -1285,9 +1287,9 @@ static int __bm_change_bits_to(struct drbd_conf *mdev, const unsigned long s,
last_page_nr = page_nr;
}
if (val)
c += (0 == __test_and_set_bit_le(bitnr & BITS_PER_PAGE_MASK, p_addr));
c += (0 == generic___test_and_set_le_bit(bitnr & BITS_PER_PAGE_MASK, p_addr));
else
c -= (0 != __test_and_clear_bit_le(bitnr & BITS_PER_PAGE_MASK, p_addr));
c -= (0 != generic___test_and_clear_le_bit(bitnr & BITS_PER_PAGE_MASK, p_addr));
}
if (p_addr)
__bm_unmap(p_addr, km);
Expand Down Expand Up @@ -1436,7 +1438,7 @@ int drbd_bm_test_bit(struct drbd_conf *mdev, const unsigned long bitnr)
bm_print_lock_info(mdev);
if (bitnr < b->bm_bits) {
p_addr = bm_map_pidx(b, bm_bit_to_page_idx(b, bitnr));
i = test_bit_le(bitnr & BITS_PER_PAGE_MASK, p_addr) ? 1 : 0;
i = generic_test_le_bit(bitnr & BITS_PER_PAGE_MASK, p_addr) ? 1 : 0;
bm_unmap(p_addr);
} else if (bitnr == b->bm_bits) {
i = -1;
Expand Down Expand Up @@ -1480,7 +1482,7 @@ int drbd_bm_count_bits(struct drbd_conf *mdev, const unsigned long s, const unsi
ERR_IF (bitnr >= b->bm_bits) {
dev_err(DEV, "bitnr=%lu bm_bits=%lu\n", bitnr, b->bm_bits);
} else {
c += (0 != test_bit_le(bitnr - (page_nr << (PAGE_SHIFT+3)), p_addr));
c += (0 != generic_test_le_bit(bitnr - (page_nr << (PAGE_SHIFT+3)), p_addr));
}
}
if (p_addr)
Expand Down
Loading

0 comments on commit df04063

Please sign in to comment.