fsl_msi.c (a44dca1717ce2c2381339e21c07d1731a63a7888) | fsl_msi.c (cad5cef62a5a0c525d39118d2e94b6e2034d5e05) |
---|---|
1/* 2 * Copyright (C) 2007-2011 Freescale Semiconductor, Inc. 3 * 4 * Author: Tony Li <tony.li@freescale.com> 5 * Jason Jin <Jason.jin@freescale.com> 6 * 7 * The hwirq alloc and free code reuse from sysdev/mpic_msi.c 8 * --- 319 unchanged lines hidden (view full) --- 328 msi_bitmap_free(&msi->bitmap); 329 if ((msi->feature & FSL_PIC_IP_MASK) != FSL_PIC_IP_VMPIC) 330 iounmap(msi->msi_regs); 331 kfree(msi); 332 333 return 0; 334} 335 | 1/* 2 * Copyright (C) 2007-2011 Freescale Semiconductor, Inc. 3 * 4 * Author: Tony Li <tony.li@freescale.com> 5 * Jason Jin <Jason.jin@freescale.com> 6 * 7 * The hwirq alloc and free code reuse from sysdev/mpic_msi.c 8 * --- 319 unchanged lines hidden (view full) --- 328 msi_bitmap_free(&msi->bitmap); 329 if ((msi->feature & FSL_PIC_IP_MASK) != FSL_PIC_IP_VMPIC) 330 iounmap(msi->msi_regs); 331 kfree(msi); 332 333 return 0; 334} 335 |
336static int __devinit fsl_msi_setup_hwirq(struct fsl_msi *msi, 337 struct platform_device *dev, 338 int offset, int irq_index) | 336static int fsl_msi_setup_hwirq(struct fsl_msi *msi, struct platform_device *dev, 337 int offset, int irq_index) |
339{ 340 struct fsl_msi_cascade_data *cascade_data = NULL; 341 int virt_msir; 342 343 virt_msir = irq_of_parse_and_map(dev->dev.of_node, irq_index); 344 if (virt_msir == NO_IRQ) { 345 dev_err(&dev->dev, "%s: Cannot translate IRQ index %d\n", 346 __func__, irq_index); --- 11 unchanged lines hidden (view full) --- 358 cascade_data->msi_data = msi; 359 irq_set_handler_data(virt_msir, cascade_data); 360 irq_set_chained_handler(virt_msir, fsl_msi_cascade); 361 362 return 0; 363} 364 365static const struct of_device_id fsl_of_msi_ids[]; | 338{ 339 struct fsl_msi_cascade_data *cascade_data = NULL; 340 int virt_msir; 341 342 virt_msir = irq_of_parse_and_map(dev->dev.of_node, irq_index); 343 if (virt_msir == NO_IRQ) { 344 dev_err(&dev->dev, "%s: Cannot translate IRQ index %d\n", 345 __func__, irq_index); --- 11 unchanged lines hidden (view full) --- 357 cascade_data->msi_data = msi; 358 irq_set_handler_data(virt_msir, cascade_data); 359 irq_set_chained_handler(virt_msir, fsl_msi_cascade); 360 361 return 0; 362} 363 364static const struct of_device_id fsl_of_msi_ids[]; |
366static int __devinit fsl_of_msi_probe(struct platform_device *dev) | 365static int fsl_of_msi_probe(struct platform_device *dev) |
367{ 368 const struct of_device_id *match; 369 struct fsl_msi *msi; 370 struct resource res; 371 int err, i, j, irq_index, count; 372 int rc; 373 const u32 *p; 374 const struct fsl_msi_feature *features; --- 164 unchanged lines hidden --- | 366{ 367 const struct of_device_id *match; 368 struct fsl_msi *msi; 369 struct resource res; 370 int err, i, j, irq_index, count; 371 int rc; 372 const u32 *p; 373 const struct fsl_msi_feature *features; --- 164 unchanged lines hidden --- |