Loading Makefile +1 −1 Original line number Diff line number Diff line VERSION = 4 PATCHLEVEL = 4 SUBLEVEL = 28 SUBLEVEL = 30 EXTRAVERSION = NAME = Blurry Fish Butt Loading arch/arm/crypto/ghash-ce-glue.c +24 −0 Original line number Diff line number Diff line Loading @@ -226,6 +226,27 @@ static int ghash_async_digest(struct ahash_request *req) } } static int ghash_async_import(struct ahash_request *req, const void *in) { struct ahash_request *cryptd_req = ahash_request_ctx(req); struct crypto_ahash *tfm = crypto_ahash_reqtfm(req); struct ghash_async_ctx *ctx = crypto_ahash_ctx(tfm); struct shash_desc *desc = cryptd_shash_desc(cryptd_req); desc->tfm = cryptd_ahash_child(ctx->cryptd_tfm); desc->flags = req->base.flags; return crypto_shash_import(desc, in); } static int ghash_async_export(struct ahash_request *req, void *out) { struct ahash_request *cryptd_req = ahash_request_ctx(req); struct shash_desc *desc = cryptd_shash_desc(cryptd_req); return crypto_shash_export(desc, out); } static int ghash_async_setkey(struct crypto_ahash *tfm, const u8 *key, unsigned int keylen) { Loading Loading @@ -274,7 +295,10 @@ static struct ahash_alg ghash_async_alg = { .final = ghash_async_final, .setkey = ghash_async_setkey, .digest = ghash_async_digest, .import = ghash_async_import, .export = ghash_async_export, .halg.digestsize = GHASH_DIGEST_SIZE, .halg.statesize = sizeof(struct ghash_desc_ctx), .halg.base = { .cra_name = "ghash", .cra_driver_name = "ghash-ce", Loading arch/arm/mach-pxa/pxa_cplds_irqs.c +15 −9 Original line number Diff line number Diff line Loading @@ -41,30 +41,35 @@ static irqreturn_t cplds_irq_handler(int in_irq, void *d) unsigned long pending; unsigned int bit; do { pending = readl(fpga->base + FPGA_IRQ_SET_CLR) & fpga->irq_mask; for_each_set_bit(bit, &pending, CPLDS_NB_IRQ) generic_handle_irq(irq_find_mapping(fpga->irqdomain, bit)); for_each_set_bit(bit, &pending, CPLDS_NB_IRQ) { generic_handle_irq(irq_find_mapping(fpga->irqdomain, bit)); } } while (pending); return IRQ_HANDLED; } static void cplds_irq_mask_ack(struct irq_data *d) static void cplds_irq_mask(struct irq_data *d) { struct cplds *fpga = irq_data_get_irq_chip_data(d); unsigned int cplds_irq = irqd_to_hwirq(d); unsigned int set, bit = BIT(cplds_irq); unsigned int bit = BIT(cplds_irq); fpga->irq_mask &= ~bit; writel(fpga->irq_mask, fpga->base + FPGA_IRQ_MASK_EN); set = readl(fpga->base + FPGA_IRQ_SET_CLR); writel(set & ~bit, fpga->base + FPGA_IRQ_SET_CLR); } static void cplds_irq_unmask(struct irq_data *d) { struct cplds *fpga = irq_data_get_irq_chip_data(d); unsigned int cplds_irq = irqd_to_hwirq(d); unsigned int bit = BIT(cplds_irq); unsigned int set, bit = BIT(cplds_irq); set = readl(fpga->base + FPGA_IRQ_SET_CLR); writel(set & ~bit, fpga->base + FPGA_IRQ_SET_CLR); fpga->irq_mask |= bit; writel(fpga->irq_mask, fpga->base + FPGA_IRQ_MASK_EN); Loading @@ -72,7 +77,8 @@ static void cplds_irq_unmask(struct irq_data *d) static struct irq_chip cplds_irq_chip = { .name = "pxa_cplds", .irq_mask_ack = cplds_irq_mask_ack, .irq_ack = cplds_irq_mask, .irq_mask = cplds_irq_mask, .irq_unmask = cplds_irq_unmask, .flags = IRQCHIP_MASK_ON_SUSPEND | IRQCHIP_SKIP_SET_WAKE, }; Loading arch/powerpc/kernel/eeh_driver.c +8 −0 Original line number Diff line number Diff line Loading @@ -909,6 +909,14 @@ static void eeh_handle_special_event(void) /* Notify all devices to be down */ eeh_pe_state_clear(pe, EEH_PE_PRI_BUS); bus = eeh_pe_bus_get(phb_pe); if (!bus) { pr_err("%s: Cannot find PCI bus for " "PHB#%d-PE#%x\n", __func__, pe->phb->global_number, pe->addr); break; } eeh_pe_dev_traverse(pe, eeh_report_failure, NULL); pcibios_remove_pci_devices(bus); Loading arch/powerpc/kernel/nvram_64.c +3 −3 Original line number Diff line number Diff line Loading @@ -969,7 +969,7 @@ int __init nvram_remove_partition(const char *name, int sig, /* Make partition a free partition */ part->header.signature = NVRAM_SIG_FREE; strncpy(part->header.name, "wwwwwwwwwwww", 12); memset(part->header.name, 'w', 12); part->header.checksum = nvram_checksum(&part->header); rc = nvram_write_header(part); if (rc <= 0) { Loading @@ -987,8 +987,8 @@ int __init nvram_remove_partition(const char *name, int sig, } if (prev) { prev->header.length += part->header.length; prev->header.checksum = nvram_checksum(&part->header); rc = nvram_write_header(part); prev->header.checksum = nvram_checksum(&prev->header); rc = nvram_write_header(prev); if (rc <= 0) { printk(KERN_ERR "nvram_remove_partition: nvram_write failed (%d)\n", rc); return rc; Loading Loading
Makefile +1 −1 Original line number Diff line number Diff line VERSION = 4 PATCHLEVEL = 4 SUBLEVEL = 28 SUBLEVEL = 30 EXTRAVERSION = NAME = Blurry Fish Butt Loading
arch/arm/crypto/ghash-ce-glue.c +24 −0 Original line number Diff line number Diff line Loading @@ -226,6 +226,27 @@ static int ghash_async_digest(struct ahash_request *req) } } static int ghash_async_import(struct ahash_request *req, const void *in) { struct ahash_request *cryptd_req = ahash_request_ctx(req); struct crypto_ahash *tfm = crypto_ahash_reqtfm(req); struct ghash_async_ctx *ctx = crypto_ahash_ctx(tfm); struct shash_desc *desc = cryptd_shash_desc(cryptd_req); desc->tfm = cryptd_ahash_child(ctx->cryptd_tfm); desc->flags = req->base.flags; return crypto_shash_import(desc, in); } static int ghash_async_export(struct ahash_request *req, void *out) { struct ahash_request *cryptd_req = ahash_request_ctx(req); struct shash_desc *desc = cryptd_shash_desc(cryptd_req); return crypto_shash_export(desc, out); } static int ghash_async_setkey(struct crypto_ahash *tfm, const u8 *key, unsigned int keylen) { Loading Loading @@ -274,7 +295,10 @@ static struct ahash_alg ghash_async_alg = { .final = ghash_async_final, .setkey = ghash_async_setkey, .digest = ghash_async_digest, .import = ghash_async_import, .export = ghash_async_export, .halg.digestsize = GHASH_DIGEST_SIZE, .halg.statesize = sizeof(struct ghash_desc_ctx), .halg.base = { .cra_name = "ghash", .cra_driver_name = "ghash-ce", Loading
arch/arm/mach-pxa/pxa_cplds_irqs.c +15 −9 Original line number Diff line number Diff line Loading @@ -41,30 +41,35 @@ static irqreturn_t cplds_irq_handler(int in_irq, void *d) unsigned long pending; unsigned int bit; do { pending = readl(fpga->base + FPGA_IRQ_SET_CLR) & fpga->irq_mask; for_each_set_bit(bit, &pending, CPLDS_NB_IRQ) generic_handle_irq(irq_find_mapping(fpga->irqdomain, bit)); for_each_set_bit(bit, &pending, CPLDS_NB_IRQ) { generic_handle_irq(irq_find_mapping(fpga->irqdomain, bit)); } } while (pending); return IRQ_HANDLED; } static void cplds_irq_mask_ack(struct irq_data *d) static void cplds_irq_mask(struct irq_data *d) { struct cplds *fpga = irq_data_get_irq_chip_data(d); unsigned int cplds_irq = irqd_to_hwirq(d); unsigned int set, bit = BIT(cplds_irq); unsigned int bit = BIT(cplds_irq); fpga->irq_mask &= ~bit; writel(fpga->irq_mask, fpga->base + FPGA_IRQ_MASK_EN); set = readl(fpga->base + FPGA_IRQ_SET_CLR); writel(set & ~bit, fpga->base + FPGA_IRQ_SET_CLR); } static void cplds_irq_unmask(struct irq_data *d) { struct cplds *fpga = irq_data_get_irq_chip_data(d); unsigned int cplds_irq = irqd_to_hwirq(d); unsigned int bit = BIT(cplds_irq); unsigned int set, bit = BIT(cplds_irq); set = readl(fpga->base + FPGA_IRQ_SET_CLR); writel(set & ~bit, fpga->base + FPGA_IRQ_SET_CLR); fpga->irq_mask |= bit; writel(fpga->irq_mask, fpga->base + FPGA_IRQ_MASK_EN); Loading @@ -72,7 +77,8 @@ static void cplds_irq_unmask(struct irq_data *d) static struct irq_chip cplds_irq_chip = { .name = "pxa_cplds", .irq_mask_ack = cplds_irq_mask_ack, .irq_ack = cplds_irq_mask, .irq_mask = cplds_irq_mask, .irq_unmask = cplds_irq_unmask, .flags = IRQCHIP_MASK_ON_SUSPEND | IRQCHIP_SKIP_SET_WAKE, }; Loading
arch/powerpc/kernel/eeh_driver.c +8 −0 Original line number Diff line number Diff line Loading @@ -909,6 +909,14 @@ static void eeh_handle_special_event(void) /* Notify all devices to be down */ eeh_pe_state_clear(pe, EEH_PE_PRI_BUS); bus = eeh_pe_bus_get(phb_pe); if (!bus) { pr_err("%s: Cannot find PCI bus for " "PHB#%d-PE#%x\n", __func__, pe->phb->global_number, pe->addr); break; } eeh_pe_dev_traverse(pe, eeh_report_failure, NULL); pcibios_remove_pci_devices(bus); Loading
arch/powerpc/kernel/nvram_64.c +3 −3 Original line number Diff line number Diff line Loading @@ -969,7 +969,7 @@ int __init nvram_remove_partition(const char *name, int sig, /* Make partition a free partition */ part->header.signature = NVRAM_SIG_FREE; strncpy(part->header.name, "wwwwwwwwwwww", 12); memset(part->header.name, 'w', 12); part->header.checksum = nvram_checksum(&part->header); rc = nvram_write_header(part); if (rc <= 0) { Loading @@ -987,8 +987,8 @@ int __init nvram_remove_partition(const char *name, int sig, } if (prev) { prev->header.length += part->header.length; prev->header.checksum = nvram_checksum(&part->header); rc = nvram_write_header(part); prev->header.checksum = nvram_checksum(&prev->header); rc = nvram_write_header(prev); if (rc <= 0) { printk(KERN_ERR "nvram_remove_partition: nvram_write failed (%d)\n", rc); return rc; Loading