All of lore.kernel.org
 help / color / mirror / Atom feed
* Need some guidance on i2c-ocores driver
@ 2015-04-17  0:02 York Sun
  2015-04-17 15:47   ` York Sun
  0 siblings, 1 reply; 25+ messages in thread
From: York Sun @ 2015-04-17  0:02 UTC (permalink / raw)
  To: Julia.Lawall-L2FTfq7BK8M
  Cc: linux-i2c-u79uwXL29TY76Z2rM5mHXA, wolfram-z923LK4zBo2bacvFa/9K2g

Julia and other experts,

I am seeking for help on my device driver.

I am working on a module driver for a FPGA design with open core I2C controller
memory-mapped to BAR2. I have searched up and down and found only one driver
(drivers/mfd/timberdale.c) with similar implementation. Following timberdale
driver, I am able to load the driver, but blocked by devm_ioremap_resource(). It
is always in conflict with my BAR2. I wonder if I did something wrong. Here is
the flow I tracked so far. (By the way, I am using an older kernel 3.12. The new
4.0 kernel crashes when booting on my platform. I plan to move to newer kernel
later).

mfd_add_devices()
|
|--mfd_add_device()
    |
    |--platform_device_add()
        |
        |--insert_resource()  /* this passed */
        |   |
        |   |--insert_resource_conflict()
        |
        |--device_add()
            |
            |--bus_probe_device()
                |
                |--devm_ioremap_resource()
                    |
                    |--devm_request_mem_region()
                        |
                        |--__request_region() /* this always conflicts */
                            |
                            |--__request_resource()

My driver is called RedStone DMA. Here is my debug output

> root@p1022ds:~# insmod redstone_mfd.ko 
> RedStone DMA 0002:05:00.0: pci_enable_device() successful
> RedStone DMA 0002:05:00.0: MSI-X init successful
> York kernel: Calling devm_ioremap_resource()
> York kernel kernel/resource.c __request_region 977: conflict=[??? 0xc00080000-0xc00087fff flags 0x80000000]
> ocores-i2c ocores-i2c: can't request region for resource [mem 0xc00086000-0xc0008601f]
> ocores-i2c: probe of ocores-i2c failed with error -16
> RedStone DMA 0002:05:00.0: BAR[0] 0x0000000c00000000-0x0000000c0007ffff flags 0x0014220c, length 524288
> RedStone DMA 0002:05:00.0: BAR[1] 0x0000000000000000-0x0000000000000000 flags 0x00000000, length 0
> RedStone DMA 0002:05:00.0: BAR[2] 0x0000000c00080000-0x0000000c00087fff flags 0x00040200, length 32768
> RedStone DMA 0002:05:00.0: BAR[3] 0x0000000000000000-0x0000000000000000 flags 0x00000000, length 0
> RedStone DMA 0002:05:00.0: BAR[4] 0x0000000000000000-0x0000000000000000 flags 0x00000000, length 0
> RedStone DMA 0002:05:00.0: BAR[5] 0x0000000000000000-0x0000000000000000 flags 0x00000000, length 0
> RedStone DMA 0002:05:00.0: Version 1.4, built on 4-16-15, id 0
> root@p1022ds:~# 

Can you shed some light on this?

Thanks.

York

^ permalink raw reply	[flat|nested] 25+ messages in thread

end of thread, other threads:[~2015-05-08  8:03 UTC | newest]

Thread overview: 25+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-04-17  0:02 Need some guidance on i2c-ocores driver York Sun
2015-04-17 15:47 ` York Sun
2015-04-17 15:47   ` York Sun
2015-04-20  6:42   ` Lee Jones
2015-04-20  6:42     ` Lee Jones
2015-04-20 16:24     ` York Sun
2015-04-20 16:24       ` York Sun
2015-04-20 18:16       ` Lee Jones
2015-04-20 18:31         ` York Sun
2015-04-20 18:31           ` York Sun
2015-04-21  7:35           ` Lee Jones
2015-04-21  7:35             ` Lee Jones
2015-05-06 21:41             ` Why isn't IRQ shared for i2c-ocore York Sun
2015-05-06 21:41               ` York Sun
2015-05-07  7:01               ` Lee Jones
2015-05-07 14:46                 ` York Sun
2015-05-07 14:46                   ` York Sun
2015-05-08  6:47                 ` Geert Uytterhoeven
2015-05-08  6:57                   ` Lee Jones
2015-05-08  6:57                     ` Lee Jones
2015-05-08  7:07                     ` Geert Uytterhoeven
2015-05-08  7:07                       ` Geert Uytterhoeven
2015-05-08  7:27                       ` Lee Jones
2015-05-08  8:03                         ` Geert Uytterhoeven
2015-05-08  8:03                           ` Geert Uytterhoeven

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.