[PATCH][WAS:bcmai, axi] bcma: add Broadcom specific AMBA bus driver

Rafał Miłecki zajec5 at gmail.com
Sat May 7 13:35:52 EDT 2011


2011/5/7 Hauke Mehrtens <hauke at hauke-m.de>:
> 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.

OK, I'll stay away from this driver for now (license).


>> 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.

Ups, yeah, you're right. I didn't think about USB, V90, PCI(e), etc...
I think situations linux-wireless as most active or linux-kernel as
most generic should be used. I think I'm fine with linux-wireless.

-- 
Rafał



More information about the linux-arm-kernel mailing list