[PATCH][WAS:bcmai, axi] bcma: add Broadcom specific AMBA bus driver
Hauke Mehrtens
hauke at hauke-m.de
Sat May 7 13:24:44 EDT 2011
On 05/07/2011 06:51 PM, Rafał Miłecki wrote:
> 2011/5/7 Hauke Mehrtens <hauke at hauke-m.de>:
>> On 05/07/2011 06:23 PM, Rafał Miłecki wrote:
>>> 2011/5/7 Hauke Mehrtens <hauke at hauke-m.de>:
>>>> On 05/05/2011 11:59 PM, Rafał Miłecki wrote:
>>>>> Cc: Greg KH <greg at kroah.com>
>>>>> 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
>>>>> Cc: Russell King <rmk at arm.linux.org.uk>
>>>>> Cc: Arnd Bergmann <arnd at arndb.de>
>>>>> Cc: Andy Botting <andy at andybotting.com>
>>>>> 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>
>>>>> ---
>>>>> 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
>>>>> V3: Fix reloading (kfree issue)
>>>>> Add 14e4:0x4331
>>>>> Fix non-initialized struct issue
>>>>> Drop useless inline functions wrappers for pci core drv
>>>>> Proper pr_* usage
>>>>> V3.1: Include forgotten changes (pr_* and include related)
>>>>> Explain why we dare to implement empty release function
>>>>> V4: Add ABI documentation
>>>>> Move struct device to wrapper and alloc it dynamically
>>>>> checkpatch.pl pointed fixes
>>>>> V5: Rename to bcma, AXI was really bad name
>>>>> Use EXPORT_SYMBOL_GPL
>>>>> Set pci driver fields in one place
>>>>> Drop unlikely
>>>>> Use BCMA_CORE_SIZE for calc in awrite32
>>>>> Add README
>>>>> Fix compilation (delay.h)
>>>>> ---
>>>>> Documentation/ABI/testing/sysfs-bus-bcma | 31 ++
>>>>> drivers/Kconfig | 2 +
>>>>> drivers/Makefile | 1 +
>>>>> drivers/bcma/Kconfig | 33 +++
>>>>> drivers/bcma/Makefile | 7 +
>>>>> drivers/bcma/README | 18 ++
>>>>> drivers/bcma/TODO | 3 +
>>>>> drivers/bcma/bcma_private.h | 31 ++
>>>>> drivers/bcma/core.c | 51 ++++
>>>>> drivers/bcma/driver_chipcommon.c | 87 ++++++
>>>>> drivers/bcma/driver_chipcommon_pmu.c | 134 +++++++++
>>>>> drivers/bcma/driver_pci.c | 163 +++++++++++
>>>>> drivers/bcma/host_pci.c | 196 +++++++++++++
>>>>> drivers/bcma/main.c | 271 ++++++++++++++++++
>>>>> drivers/bcma/scan.c | 392 +++++++++++++++++++++++++++
>>>>> drivers/bcma/scan.h | 56 ++++
>>>>> include/linux/bcma/bcma.h | 232 ++++++++++++++++
>>>>> include/linux/bcma/bcma_driver_chipcommon.h | 297 ++++++++++++++++++++
>>>>> include/linux/bcma/bcma_driver_pci.h | 89 ++++++
>>>>> include/linux/bcma/bcma_regs.h | 34 +++
>>>>> include/linux/mod_devicetable.h | 17 ++
>>>>> scripts/mod/file2alias.c | 22 ++
>>>>> 22 files changed, 2167 insertions(+), 0 deletions(-)
>>>>> create mode 100644 Documentation/ABI/testing/sysfs-bus-bcma
>>>>> create mode 100644 drivers/bcma/Kconfig
>>>>> create mode 100644 drivers/bcma/Makefile
>>>>> create mode 100644 drivers/bcma/README
>>>>> create mode 100644 drivers/bcma/TODO
>>>>> create mode 100644 drivers/bcma/bcma_private.h
>>>>> create mode 100644 drivers/bcma/core.c
>>>>> create mode 100644 drivers/bcma/driver_chipcommon.c
>>>>> create mode 100644 drivers/bcma/driver_chipcommon_pmu.c
>>>>> create mode 100644 drivers/bcma/driver_pci.c
>>>>> create mode 100644 drivers/bcma/host_pci.c
>>>>> create mode 100644 drivers/bcma/main.c
>>>>> create mode 100644 drivers/bcma/scan.c
>>>>> create mode 100644 drivers/bcma/scan.h
>>>>> create mode 100644 include/linux/bcma/bcma.h
>>>>> create mode 100644 include/linux/bcma/bcma_driver_chipcommon.h
>>>>> create mode 100644 include/linux/bcma/bcma_driver_pci.h
>>>>> create mode 100644 include/linux/bcma/bcma_regs.h
>>>>>
>>>> Hi,
>>>>
>>>> An entry in the MAINTAINERS file would be nice to find the right
>>>> addresses to send patches to.
>>>
>>> Will do, thanks. Should I put some ML for this driver?
>>> netdev at vger.kernel.org? linux-wireless at vger.kernel.org? So far there
>>> are no net drivers for BCMA. Probably b43 will be the first (or
>>> brcm80211).
>>>
>> There is a Ethernet core used on embedded devices with this bus and
>> George wrote a driver for the first version of this bus implementation,
>> he send to the ML. Most user will use this with some wireless devices so
>> I would add linux-wireless at vger.kernel.org. Why does ssb uses netdev ML?
>
> Thanks, I didn't know about this ethernet driver. Have to check it!
> Where was this published? Do you have a thread name?
I think he haven't send it to the mailing list, there is a link [0] in
some Ticket [1] at OpenWrt. This driver was derived from source code
Braodcom have published, but not under a GPL compatible license. It will
be nice if Braodcom would allow us to publish a driver under the terms
of the GPL for the Ethernet core based on their driver, without writing
a full spec of the driver like it was done for b43.
> I'm not sure if we want linux-wireless to be ML, if we already have
> some Ethernet driver. Some network-general ML makes more sense then.
> Maybe netdev would be better.
Some of the embedded devices also have a USB core on the BCMA bus and a
pci(e) host controller to connect other pci(e) devices. As most of the
patches for ssb came from the wireless guys and I do not thing this will
be different for bcma, I thing the wireless mailing list is the correct
place.
@George what is the status of adding support for the embedded devices?
Hauke
[0] http://www.znau.edu.ua/temp/asus-rt-n16/openwrt-bcm4716-README.txt
[1] https://dev.openwrt.org/ticket/6580#comment
More information about the linux-arm-kernel
mailing list