linux-i2c.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Need some guidance on i2c-ocores driver
@ 2015-04-17  0:02 York Sun
       [not found] ` <55304D8E.8070204-KZfg59tc24xl57MIdRCFDg@public.gmane.org>
  0 siblings, 1 reply; 15+ 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] 15+ messages in thread

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

Thread overview: 15+ 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
     [not found] ` <55304D8E.8070204-KZfg59tc24xl57MIdRCFDg@public.gmane.org>
2015-04-17 15:47   ` York Sun
     [not found]     ` <55312AF7.7070504-KZfg59tc24xl57MIdRCFDg@public.gmane.org>
2015-04-20  6:42       ` Lee Jones
2015-04-20 16:24         ` York Sun
2015-04-20 18:16           ` Lee Jones
2015-04-20 18:31             ` York Sun
     [not found]               ` <5535460B.2060309-KZfg59tc24xl57MIdRCFDg@public.gmane.org>
2015-04-21  7:35                 ` Lee Jones
2015-05-06 21:41                   ` Why isn't IRQ shared for i2c-ocore York Sun
2015-05-07  7:01                     ` Lee Jones
2015-05-07 14:46                       ` York Sun
2015-05-08  6:47                       ` Geert Uytterhoeven
     [not found]                         ` <CAMuHMdWXFmPWsL4QyjwV+X-mruS0pU2Uzj7aSSxTQDJ=K+32XA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-05-08  6:57                           ` Lee Jones
2015-05-08  7:07                             ` Geert Uytterhoeven
2015-05-08  7:27                               ` Lee Jones
2015-05-08  8:03                                 ` Geert Uytterhoeven

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).