[RFC][WAS:bcmai][PATCH V2] axi: add AXI bus driver

Arend van Spriel arend at broadcom.com
Mon Apr 11 12:59:02 EDT 2011


On Fri, 08 Apr 2011 21:45:00 +0200, Rafał Miłecki <zajec5 at gmail.com> wrote:

> Cc: Michael Büsch <mb at bu3sch.de>
> Cc: Larry Finger <Larry.Finger at lwfinger.net>
> Cc: George Kashperko <george at znau.edu.ua>
> Cc: Arend van Spriel <arend at broadcom.com>
> Cc: linux-arm-kernel at lists.infradead.org  
> <linux-arm-kernel at lists.infradead.org>
> Cc: Russell King <rmk at arm.linux.org.uk>
> Cc: Arnd Bergmann <arnd at arndb.de>
> Cc: linuxdriverproject <devel at linuxdriverproject.org>
> Cc: linux-kernel at vger.kernel.org <linux-kernel at vger.kernel.org>
> Signed-off-by: Rafał Miłecki <zajec5 at gmail.com>
> ---
> This is second try for introducing new bus driver.
> V2: Rename to axi
>     Use DEFINE_PCI_DEVICE_TABLE in bridge
>     Make use of pr_fmt and pr_*
>     Store core class
>     Rename bridge to not b43 specific
>     Replace magic 0x1000 with BCMAI_CORE_SIZE
>     Remove some old "ssb" names and defines
>     Move BCMAI_ADDR_BASE def
>     Add drvdata field
> TODO:
> - Interrupts
> - Reloading driver
> ---
>  drivers/Kconfig                           |    2 +
>  drivers/Makefile                          |    1 +
>  include/linux/mod_devicetable.h           |   17 ++
>  scripts/mod/file2alias.c                  |   21 ++

Hi Rafał,

I tried to apply this patch, but it failed as well. I did the 4 files
above manually and applied partial patch for the new files.

When I load the module it seems to have succeeded once, but every insmod
attempt I do now fails with following trace:

Apr 11 16:43:43 arend-laptop kernel: [   61.249239] axi-pci-bridge
0000:03:00.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17
Apr 11 16:43:43 arend-laptop kernel: [   61.249312] Core 0 found:
ChipCommon (manuf 0x4BF, id 0x800, rev 0x22, class 0x0)
Apr 11 16:43:43 arend-laptop kernel: [   61.249339] Core 1 found: IEEE
802.11 (manuf 0x4BF, id 0x812, rev 0x17, class 0x0)
Apr 11 16:43:43 arend-laptop kernel: [   61.249400] Core 2 found: PCIe
(manuf 0x4BF, id 0x820, rev 0x0F, class 0x0)
Apr 11 16:43:43 arend-laptop kernel: [   61.279913] Modules linked in:
axi(+) binfmt_misc nouveau ttm drm_kms_helper drm i2c_algo_bit
snd_hda_codec_hdmi snd_hda_codec_idt snd_hda_intel snd_hda_codec
snd_seq_midi snd_hwdep ppdev snd_rawmidi snd_pcm snd_seq_midi_event
parport_pc snd_seq snd_timer snd_seq_device lp pcmcia snd uvcvideo
soundcore snd_page_alloc dell_laptop videodev dell_wmi dcdbas
sparse_keymap intel_ips yenta_socket video pcmcia_rsrc pcmcia_core parport
intel_agp intel_gtt agpgart psmouse btusb bluetooth joydev serio_raw
usbhid hid mmc_block ahci sdhci_pci firewire_ohci sdhci e1000e
firewire_core mmc_core libahci crc_itu_t
Apr 11 16:43:43 arend-laptop kernel: [   61.280052]
Apr 11 16:43:43 arend-laptop kernel: [   61.280366] Pid: 2008, comm:
insmod Not tainted 2.6.39-rc1-staging-next-09270-gb905e26 #1 Dell Inc.
Latitude E6410/07XJP9
Apr 11 16:43:43 arend-laptop kernel: [   61.281090] EIP: 0060:[<c0213d3d>]
EFLAGS: 00010246 CPU: 1
Apr 11 16:43:43 arend-laptop kernel: [   61.281812] EIP is at
kfree+0x10d/0x120
Apr 11 16:43:43 arend-laptop kernel: [   61.282523] EAX: 40000000 EBX:
f726bc40 ECX: f2ea6910 EDX: 0000002f
Apr 11 16:43:43 arend-laptop kernel: [   61.283234] ESI: f57d2d60 EDI:
00000000 EBP: f726bd70 ESP: f726bd4c
Apr 11 16:43:43 arend-laptop kernel: [   61.283947]  DS: 007b ES: 007b FS:
00d8 GS: 00e0 SS: 0068
Apr 11 16:43:43 arend-laptop kernel: [   61.286071]  f726bd98 f848be2a
f726bd70 c036dea3 f726bda0 00000007 f3aae18c f726bc40
Apr 11 16:43:43 arend-laptop kernel: [   61.286797]  f3aae000 f726bd80
c03642c4 f3aae16c 00000001 f726bd88 c0410639 f726bdb4
Apr 11 16:43:43 arend-laptop kernel: [   61.287522]  f848a326 f3aae184
f848be2a 00000000 00000000 f3aae184 00000000 f39eb800
Apr 11 16:43:43 arend-laptop kernel: [   61.288957]  [<c036dea3>] ?
kvasprintf+0x43/0x60
Apr 11 16:43:43 arend-laptop kernel: [   61.289660]  [<c03642c4>]
kobject_set_name_vargs+0x64/0x70
Apr 11 16:43:43 arend-laptop kernel: [   61.290357]  [<c0410639>]
dev_set_name+0x19/0x20
Apr 11 16:43:43 arend-laptop kernel: [   61.291050]  [<f848a326>]
axi_bus_register+0x106/0x220 [axi]
Apr 11 16:43:43 arend-laptop kernel: [   61.291738]  [<f848bd1a>]
axi_host_pci_probe+0xfa/0x168 [axi]
Apr 11 16:43:43 arend-laptop kernel: [   61.292419]  [<c0381497>]
local_pci_probe+0x47/0xb0
Apr 11 16:43:43 arend-laptop kernel: [   61.293091]  [<c0382388>]
pci_device_probe+0x68/0x90
Apr 11 16:43:43 arend-laptop kernel: [   61.293755]  [<c04138af>]
driver_probe_device+0x7f/0x190
Apr 11 16:43:43 arend-laptop kernel: [   61.294417]  [<c0413a41>]
__driver_attach+0x81/0x90
Apr 11 16:43:43 arend-laptop kernel: [   61.295070]  [<c0412ec3>]
bus_for_each_dev+0x53/0x80
Apr 11 16:43:43 arend-laptop kernel: [   61.295720]  [<c041372e>]
driver_attach+0x1e/0x20
Apr 11 16:43:43 arend-laptop kernel: [   61.296371]  [<c04139c0>] ?
driver_probe_device+0x190/0x190
Apr 11 16:43:43 arend-laptop kernel: [   61.297015]  [<c0413140>]
bus_add_driver+0xc0/0x240
Apr 11 16:43:43 arend-laptop kernel: [   61.297661]  [<c0382200>] ?
pci_dev_put+0x20/0x20
Apr 11 16:43:43 arend-laptop kernel: [   61.298308]  [<c041406a>]
driver_register+0x6a/0x130
Apr 11 16:43:43 arend-laptop kernel: [   61.298958]  [<c0412897>] ?
bus_put+0x17/0x20
Apr 11 16:43:43 arend-laptop kernel: [   61.299608]  [<c041306e>] ?
bus_create_file+0x3e/0x50
Apr 11 16:43:43 arend-laptop kernel: [   61.300259]  [<c03825c5>]
__pci_register_driver+0x45/0xb0
Apr 11 16:43:43 arend-laptop kernel: [   61.300900]  [<f848bbb5>]
axi_host_pci_register+0x25/0x30 [axi]
Apr 11 16:43:43 arend-laptop kernel: [   61.301539]  [<f83bb03f>]
axi_pci_bridge_init+0xd/0xf [axi]
Apr 11 16:43:43 arend-laptop kernel: [   61.302172]  [<f83bb01c>]
axi_modinit+0x1c/0x32 [axi]
Apr 11 16:43:43 arend-laptop kernel: [   61.302810]  [<c0101125>]
do_one_initcall+0x35/0x170
Apr 11 16:43:43 arend-laptop kernel: [   61.303445]  [<f83bb000>] ?
0xf83bafff
Apr 11 16:43:43 arend-laptop kernel: [   61.304078]  [<c0181e46>]
sys_init_module+0x116/0x1090
Apr 11 16:43:43 arend-laptop kernel: [   61.304716]  [<c05e3e5f>]
sysenter_do_call+0x12/0x28
Apr 11 16:43:43 arend-laptop kernel: [   61.307475] ---[ end trace
9219745721068e61 ]---

Is this what you indicate with reloading driver in the TODO remark? I
rebooted the system and power-cycled it but I still get this failure. I
did not futher look into this so hopefully you can enlighten me on this.

Gr. AvS
-- 
"The world is indeed comic, but the joke is on mankind." — H.P. Lovecraft




More information about the linux-arm-kernel mailing list