Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus
Pull MIPS updates from Ralf Baechle: "This is the main pull request for 4.3 for MIPS. Here's the summary: Three fixes that didn't make 4.2-stable: - a -Os build might compile the kernel using the MIPS16 instruction set but the R2 optimized inline functions in <uapi/asm/swab.h> are implemented using 32-bit wide instructions which is invalid. - a build error in pgtable-bits.h for a particular kernel configuration. - accessing registers of the CM GCR might have been compiled to use 64 bit accesses but these registers are onl 32 bit wide. And also a few new bits: - move the ATH79 GPIO driver to drivers/gpio - the definition of IRQCHIP_DECLARE has moved to linux/irqchip.h, change ATH79 accordingly. - fix definition of pgprot_writecombine - add an implementation of dma_map_ops.mmap - fix alignment of quiet build output for vmlinuz link - BCM47xx: Use kmemdup rather than duplicating its implementation - Netlogic: Fix 0x0x prefixes of constants. - merge Bjorn Helgaas' series to remove most of the weak keywords from function declarations. - CP0 and CP1 registers are best considered treated as unsigned values to avoid large values from becoming negative values. - improve support for the MIPS GIC timer. - enable common clock framework for Malta and SEAD3. - a number of improvments and fixes to dump_tlb(). - document the MIPS TLB dump functionality in Magic SysRq. - Cavium Octeon CN68XX improvments. - NetLogic improvments. - irq: Use access helper irq_data_get_affinity_mask. - handle MSA unaligned accesses. - a number of R6-related math-emu fixes. - support for I6400. - improvments to MSA support. - add uprobes support. - move from deprecated __initcall to arch_initcall. - remove finish_arch_switch(). - IRQ cleanups by Thomas Gleixner. - migrate to new 'set-state' interface. - random small cleanups" * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (148 commits) MIPS: UAPI: Fix unrecognized opcode WSBH/DSBH/DSHD when using MIPS16. MIPS: Fix alignment of quiet build output for vmlinuz link MIPS: math-emu: Remove unused handle_dsemul function declaration MIPS: math-emu: Add support for the MIPS R6 MAX{, A} FPU instruction MIPS: math-emu: Add support for the MIPS R6 MIN{, A} FPU instruction MIPS: math-emu: Add support for the MIPS R6 CLASS FPU instruction MIPS: math-emu: Add support for the MIPS R6 RINT FPU instruction MIPS: math-emu: Add support for the MIPS R6 MSUBF FPU instruction MIPS: math-emu: Add support for the MIPS R6 MADDF FPU instruction MIPS: math-emu: Add support for the MIPS R6 SELNEZ FPU instruction MIPS: math-emu: Add support for the MIPS R6 SELEQZ FPU instruction MIPS: math-emu: Add support for the CMP.condn.fmt R6 instruction MIPS: inst.h: Add new MIPS R6 FPU opcodes MIPS: Octeon: Fix management port MII address on Kontron S1901 MIPS: BCM47xx: Use kmemdup rather than duplicating its implementation STAGING: Octeon: Use common helpers for determining interface and port MIPS: Octeon: Support interfaces 4 and 5 MIPS: Octeon: Set up 1:1 mapping between CN68XX PKO queues and ports MIPS: Octeon: Initialize CN68XX PKO STAGING: Octeon: Support CN68XX style WQE ...
Šī revīzija ir iekļauta:
@@ -131,7 +131,7 @@ struct xlp_msi_data {
|
||||
*/
|
||||
static void xlp_msi_enable(struct irq_data *d)
|
||||
{
|
||||
struct xlp_msi_data *md = irq_data_get_irq_handler_data(d);
|
||||
struct xlp_msi_data *md = irq_data_get_irq_chip_data(d);
|
||||
unsigned long flags;
|
||||
int vec;
|
||||
|
||||
@@ -148,7 +148,7 @@ static void xlp_msi_enable(struct irq_data *d)
|
||||
|
||||
static void xlp_msi_disable(struct irq_data *d)
|
||||
{
|
||||
struct xlp_msi_data *md = irq_data_get_irq_handler_data(d);
|
||||
struct xlp_msi_data *md = irq_data_get_irq_chip_data(d);
|
||||
unsigned long flags;
|
||||
int vec;
|
||||
|
||||
@@ -165,7 +165,7 @@ static void xlp_msi_disable(struct irq_data *d)
|
||||
|
||||
static void xlp_msi_mask_ack(struct irq_data *d)
|
||||
{
|
||||
struct xlp_msi_data *md = irq_data_get_irq_handler_data(d);
|
||||
struct xlp_msi_data *md = irq_data_get_irq_chip_data(d);
|
||||
int link, vec;
|
||||
|
||||
link = nlm_irq_msilink(d->irq);
|
||||
@@ -211,7 +211,7 @@ static void xlp_msix_mask_ack(struct irq_data *d)
|
||||
msixvec = nlm_irq_msixvec(d->irq);
|
||||
link = nlm_irq_msixlink(msixvec);
|
||||
pci_msi_mask_irq(d);
|
||||
md = irq_data_get_irq_handler_data(d);
|
||||
md = irq_data_get_irq_chip_data(d);
|
||||
|
||||
/* Ack MSI on bridge */
|
||||
if (cpu_is_xlp9xx()) {
|
||||
@@ -302,7 +302,7 @@ static int xlp_setup_msi(uint64_t lnkbase, int node, int link,
|
||||
/* Get MSI data for the link */
|
||||
lirq = PIC_PCIE_LINK_MSI_IRQ(link);
|
||||
xirq = nlm_irq_to_xirq(node, nlm_link_msiirq(link, 0));
|
||||
md = irq_get_handler_data(xirq);
|
||||
md = irq_get_chip_data(xirq);
|
||||
msiaddr = MSI_LINK_ADDR(node, link);
|
||||
|
||||
spin_lock_irqsave(&md->msi_lock, flags);
|
||||
@@ -409,7 +409,7 @@ static int xlp_setup_msix(uint64_t lnkbase, int node, int link,
|
||||
/* Get MSI data for the link */
|
||||
lirq = PIC_PCIE_MSIX_IRQ(link);
|
||||
xirq = nlm_irq_to_xirq(node, nlm_link_msixirq(link, 0));
|
||||
md = irq_get_handler_data(xirq);
|
||||
md = irq_get_chip_data(xirq);
|
||||
msixaddr = MSIX_LINK_ADDR(node, link);
|
||||
|
||||
spin_lock_irqsave(&md->msi_lock, flags);
|
||||
@@ -485,7 +485,7 @@ void __init xlp_init_node_msi_irqs(int node, int link)
|
||||
irq = nlm_irq_to_xirq(node, nlm_link_msiirq(link, 0));
|
||||
for (i = irq; i < irq + XLP_MSIVEC_PER_LINK; i++) {
|
||||
irq_set_chip_and_handler(i, &xlp_msi_chip, handle_level_irq);
|
||||
irq_set_handler_data(i, md);
|
||||
irq_set_chip_data(i, md);
|
||||
}
|
||||
|
||||
for (i = 0; i < XLP_MSIXVEC_PER_LINK ; i++) {
|
||||
@@ -508,7 +508,7 @@ void __init xlp_init_node_msi_irqs(int node, int link)
|
||||
/* Initialize MSI-X extended irq space for the link */
|
||||
irq = nlm_irq_to_xirq(node, nlm_link_msixirq(link, i));
|
||||
irq_set_chip_and_handler(irq, &xlp_msix_chip, handle_level_irq);
|
||||
irq_set_handler_data(irq, md);
|
||||
irq_set_chip_data(irq, md);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -520,7 +520,7 @@ void nlm_dispatch_msi(int node, int lirq)
|
||||
|
||||
link = lirq - PIC_PCIE_LINK_MSI_IRQ_BASE;
|
||||
irqbase = nlm_irq_to_xirq(node, nlm_link_msiirq(link, 0));
|
||||
md = irq_get_handler_data(irqbase);
|
||||
md = irq_get_chip_data(irqbase);
|
||||
if (cpu_is_xlp9xx())
|
||||
status = nlm_read_reg(md->lnkbase, PCIE_9XX_MSI_STATUS) &
|
||||
md->msi_enabled_mask;
|
||||
@@ -550,7 +550,7 @@ void nlm_dispatch_msix(int node, int lirq)
|
||||
|
||||
link = lirq - PIC_PCIE_MSIX_IRQ_BASE;
|
||||
irqbase = nlm_irq_to_xirq(node, nlm_link_msixirq(link, 0));
|
||||
md = irq_get_handler_data(irqbase);
|
||||
md = irq_get_chip_data(irqbase);
|
||||
if (cpu_is_xlp9xx())
|
||||
status = nlm_read_reg(md->lnkbase, PCIE_9XX_MSIX_STATUSX(link));
|
||||
else
|
||||
|
@@ -25,7 +25,6 @@
|
||||
#include <linux/types.h>
|
||||
|
||||
#include <asm/addrspace.h>
|
||||
#include <asm/debug.h>
|
||||
|
||||
#include <asm/emma/emma2rh.h>
|
||||
|
||||
@@ -40,10 +39,9 @@
|
||||
static int check_args(struct pci_bus *bus, u32 devfn, u32 * bus_num)
|
||||
{
|
||||
/* check if the bus is top-level */
|
||||
if (bus->parent != NULL) {
|
||||
if (bus->parent != NULL)
|
||||
*bus_num = bus->number;
|
||||
db_assert(bus_num != NULL);
|
||||
} else
|
||||
else
|
||||
*bus_num = 0;
|
||||
|
||||
if (*bus_num == 0) {
|
||||
|
@@ -312,8 +312,8 @@ static void ar71xx_pci_irq_init(struct ar71xx_pci_controller *apc)
|
||||
irq_set_chip_data(i, apc);
|
||||
}
|
||||
|
||||
irq_set_handler_data(apc->irq, apc);
|
||||
irq_set_chained_handler(apc->irq, ar71xx_pci_irq_handler);
|
||||
irq_set_chained_handler_and_data(apc->irq, ar71xx_pci_irq_handler,
|
||||
apc);
|
||||
}
|
||||
|
||||
static void ar71xx_pci_reset(void)
|
||||
|
@@ -321,8 +321,8 @@ static void ar724x_pci_irq_init(struct ar724x_pci_controller *apc,
|
||||
irq_set_chip_data(i, apc);
|
||||
}
|
||||
|
||||
irq_set_handler_data(apc->irq, apc);
|
||||
irq_set_chained_handler(apc->irq, ar724x_pci_irq_handler);
|
||||
irq_set_chained_handler_and_data(apc->irq, ar724x_pci_irq_handler,
|
||||
apc);
|
||||
}
|
||||
|
||||
static int ar724x_pci_probe(struct platform_device *pdev)
|
||||
|
@@ -20,7 +20,6 @@
|
||||
#include <linux/of_irq.h>
|
||||
#include <linux/of_pci.h>
|
||||
|
||||
#include <asm/gpio.h>
|
||||
#include <asm/addrspace.h>
|
||||
|
||||
#include <lantiq_soc.h>
|
||||
|
@@ -129,7 +129,7 @@ static void rt3883_pci_write_cfg32(struct rt3883_pci_controller *rpc,
|
||||
rt3883_pci_w32(rpc, val, RT3883_PCI_REG_CFGDATA);
|
||||
}
|
||||
|
||||
static void rt3883_pci_irq_handler(unsigned int irq, struct irq_desc *desc)
|
||||
static void rt3883_pci_irq_handler(unsigned int __irq, struct irq_desc *desc)
|
||||
{
|
||||
struct rt3883_pci_controller *rpc;
|
||||
u32 pending;
|
||||
@@ -145,7 +145,7 @@ static void rt3883_pci_irq_handler(unsigned int irq, struct irq_desc *desc)
|
||||
}
|
||||
|
||||
while (pending) {
|
||||
unsigned bit = __ffs(pending);
|
||||
unsigned irq, bit = __ffs(pending);
|
||||
|
||||
irq = irq_find_mapping(rpc->irq_domain, bit);
|
||||
generic_handle_irq(irq);
|
||||
@@ -225,8 +225,7 @@ static int rt3883_pci_irq_init(struct device *dev,
|
||||
return -ENODEV;
|
||||
}
|
||||
|
||||
irq_set_handler_data(irq, rpc);
|
||||
irq_set_chained_handler(irq, rt3883_pci_irq_handler);
|
||||
irq_set_chained_handler_and_data(irq, rt3883_pci_irq_handler, rpc);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
Atsaukties uz šo jaunā problēmā
Block a user