25 Mar, 2012

1 commit

  • Pull cleanup from Paul Gortmaker:
    "The changes shown here are to unify linux's BUG support under the one
    file. Due to historical reasons, we have some BUG code
    in bug.h and some in kernel.h -- i.e. the support for BUILD_BUG in
    linux/kernel.h predates the addition of linux/bug.h, but old code in
    kernel.h wasn't moved to bug.h at that time. As a band-aid, kernel.h
    was including to pseudo link them.

    This has caused confusion[1] and general yuck/WTF[2] reactions. Here
    is an example that violates the principle of least surprise:

    CC lib/string.o
    lib/string.c: In function 'strlcat':
    lib/string.c:225:2: error: implicit declaration of function 'BUILD_BUG_ON'
    make[2]: *** [lib/string.o] Error 1
    $
    $ grep linux/bug.h lib/string.c
    #include
    $

    We've included for the BUG infrastructure and yet we
    still get a compile fail! [We've not kernel.h for BUILD_BUG_ON.] Ugh -
    very confusing for someone who is new to kernel development.

    With the above in mind, the goals of this changeset are:

    1) find and fix any include/*.h files that were relying on the
    implicit presence of BUG code.
    2) find and fix any C files that were consuming kernel.h and hence
    relying on implicitly getting some/all BUG code.
    3) Move the BUG related code living in kernel.h to
    4) remove the asm/bug.h from kernel.h to finally break the chain.

    During development, the order was more like 3-4, build-test, 1-2. But
    to ensure that git history for bisect doesn't get needless build
    failures introduced, the commits have been reorderd to fix the problem
    areas in advance.

    [1] https://lkml.org/lkml/2012/1/3/90
    [2] https://lkml.org/lkml/2012/1/17/414"

    Fix up conflicts (new radeon file, reiserfs header cleanups) as per Paul
    and linux-next.

    * tag 'bug-for-3.4' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux:
    kernel.h: doesn't explicitly use bug.h, so don't include it.
    bug: consolidate BUILD_BUG_ON with other bug code
    BUG: headers with BUG/BUG_ON etc. need linux/bug.h
    bug.h: add include of it to various implicit C users
    lib: fix implicit users of kernel.h for TAINT_WARN
    spinlock: macroize assert_spin_locked to avoid bug.h dependency
    x86: relocate get/set debugreg fcns to include/asm/debugreg.

    Linus Torvalds
     

06 Mar, 2012

5 commits

  • This patch extends the sprom struct to contain all sprom attributes
    found in sprom version 1 to 9. This was done accordingly to the open
    source part of the Broadcom SDK.

    Signed-off-by: Hauke Mehrtens
    Signed-off-by: John W. Linville

    Hauke Mehrtens
     
  • This member contains the country code encoded with two chars

    Signed-off-by: Hauke Mehrtens
    Signed-off-by: John W. Linville

    Hauke Mehrtens
     
  • On sprom version 4 and 5 there are 4 values for pa_2g, pa_5gl, pa_5g
    and pa_5gh, for sprom version 8 and 9 there are only 3. Make the per
    path sprom store also work for older sprom versions.

    Signed-off-by: Hauke Mehrtens
    Signed-off-by: John W. Linville

    Hauke Mehrtens
     
  • There is no 2.4 GHz or 5GHz antenna gain stored in sprom. The sprom
    just stores the gain values for antenna 1 and 2 or 1 to 4 for more
    recent sprom versions. On old devices antenna 2 was used for 5 GHz wifi.

    Signed-off-by: Hauke Mehrtens
    Signed-off-by: John W. Linville

    Hauke Mehrtens
     
  • Some parts of the sprom struct are bigger than needed.
    The leddc and maxpwr values are just 8 bit long and not 16.
    rxpo2g and rxpo5g are signed

    I got these information for the open source part of the Broadcom SDK
    covering sprom version 1 to 9. rxpo2g contained a negative number on my
    bcm5354 based device, this cased an error and Broadcom SDK says this is
    signed.

    Signed-off-by: Hauke Mehrtens
    Signed-off-by: John W. Linville

    Hauke Mehrtens
     

05 Mar, 2012

1 commit

  • If a header file is making use of BUG, BUG_ON, BUILD_BUG_ON, or any
    other BUG variant in a static inline (i.e. not in a #define) then
    that header really should be including and not just
    expecting it to be implicitly present.

    We can make this change risk-free, since if the files using these
    headers didn't have exposure to linux/bug.h already, they would have
    been causing compile failures/warnings.

    Signed-off-by: Paul Gortmaker

    Paul Gortmaker
     

25 Jan, 2012

1 commit

  • We already extract some basic info but it's incomplete, reads info
    about the first core only. Used data structure doesn't allow easy
    adding of more cores.
    This patch adds new struct and array for storing power info. The plan
    is to: switch all extractors (including the ones using NVRAM) to new
    struct, switch drivers, then deprecate and finally drop old SSB fields.

    Signed-off-by: Rafał Miłecki
    Signed-off-by: John W. Linville

    Rafał Miłecki
     

14 Dec, 2011

1 commit


01 Nov, 2011

1 commit

  • The original implementations reference THIS_MODULE in an inline.
    We could include , but it is better to avoid chaining.

    Fortunately someone else already thought of this, and made a similar
    inline into a #define in for device_schedule_callback(),
    [see commit 523ded71de0] so follow that precedent here.

    Also bubble up any __must_check that were used on the prev. wrapper inline
    functions up one to the real __register functions, to preserve any prev.
    sanity checks that were used in those instances.

    Signed-off-by: Paul Gortmaker

    Paul Gortmaker
     

14 Sep, 2011

1 commit


10 Aug, 2011

1 commit


26 Jul, 2011

1 commit

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (43 commits)
    fs: Merge split strings
    treewide: fix potentially dangerous trailing ';' in #defined values/expressions
    uwb: Fix misspelling of neighbourhood in comment
    net, netfilter: Remove redundant goto in ebt_ulog_packet
    trivial: don't touch files that are removed in the staging tree
    lib/vsprintf: replace link to Draft by final RFC number
    doc: Kconfig: `to be' -> `be'
    doc: Kconfig: Typo: square -> squared
    doc: Konfig: Documentation/power/{pm => apm-acpi}.txt
    drivers/net: static should be at beginning of declaration
    drivers/media: static should be at beginning of declaration
    drivers/i2c: static should be at beginning of declaration
    XTENSA: static should be at beginning of declaration
    SH: static should be at beginning of declaration
    MIPS: static should be at beginning of declaration
    ARM: static should be at beginning of declaration
    rcu: treewide: Do not use rcu_read_lock_held when calling rcu_dereference_check
    Update my e-mail address
    PCIe ASPM: forcedly -> forcibly
    gma500: push through device driver tree
    ...

    Fix up trivial conflicts:
    - arch/arm/mach-ep93xx/dma-m2p.c (deleted)
    - drivers/gpio/gpio-ep93xx.c (renamed and context nearby)
    - drivers/net/r8169.c (just context changes)

    Linus Torvalds
     

19 Jul, 2011

1 commit


07 Jul, 2011

1 commit


06 Jul, 2011

1 commit

  • The SSB code reads PCI revision ID register as 16-bit entity while the register
    is actually 8-bit only (the next 8 bits are the programming interface register).
    Fix the read and make the 'rev' field of 'struct ssb_boardinfo' 8-bit as well,
    to match the register size.

    Signed-off-by: Sergei Shtylyov
    Signed-off-by: John W. Linville

    Sergei Shtylyov
     

21 May, 2011

1 commit

  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1446 commits)
    macvlan: fix panic if lowerdev in a bond
    tg3: Add braces around 5906 workaround.
    tg3: Fix NETIF_F_LOOPBACK error
    macvlan: remove one synchronize_rcu() call
    networking: NET_CLS_ROUTE4 depends on INET
    irda: Fix error propagation in ircomm_lmp_connect_response()
    irda: Kill set but unused variable 'bytes' in irlan_check_command_param()
    irda: Kill set but unused variable 'clen' in ircomm_connect_indication()
    rxrpc: Fix set but unused variable 'usage' in rxrpc_get_transport()
    be2net: Kill set but unused variable 'req' in lancer_fw_download()
    irda: Kill set but unused vars 'saddr' and 'daddr' in irlan_provider_connect_indication()
    atl1c: atl1c_resume() is only used when CONFIG_PM_SLEEP is defined.
    rxrpc: Fix set but unused variable 'usage' in rxrpc_get_peer().
    rxrpc: Kill set but unused variable 'local' in rxrpc_UDP_error_handler()
    rxrpc: Kill set but unused variable 'sp' in rxrpc_process_connection()
    rxrpc: Kill set but unused variable 'sp' in rxrpc_rotate_tx_window()
    pkt_sched: Kill set but unused variable 'protocol' in tc_classify()
    isdn: capi: Use pr_debug() instead of ifdefs.
    tg3: Update version to 3.119
    tg3: Apply rx_discards fix to 5719/5720
    ...

    Fix up trivial conflicts in arch/x86/Kconfig and net/mac80211/agg-tx.c
    as per Davem.

    Linus Torvalds
     

19 May, 2011

1 commit

  • Some embedded devices like the Netgear WNDR3300 have two SSB based cards
    without an own sprom on the pci bus. We have to provide two different
    fallback sproms for these and this was not possible with the old solution.
    In the bcm47xx architecture the sprom data is stored in the nvram in the
    main flash storage. The architecture code will be able to fill the sprom
    with the stored data based on the bus where the device was found.

    The bcm63xx code should do the same thing as before, just using the new
    API.

    Acked-by: Michael Buesch
    Cc: netdev@vger.kernel.org
    Cc: linux-wireless@vger.kernel.org
    Cc: Florian Fainelli
    Signed-off-by: Hauke Mehrtens
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/2362/
    Signed-off-by: Ralf Baechle

    Hauke Mehrtens
     

12 May, 2011

1 commit


27 Apr, 2011

1 commit

  • My 14e4:4315 is SSB_IDLOW_SSBREV_26:
    read32 0xfaafcff8 -> 0x600422d5
    My 14e4:4328 is SSB_IDLOW_SSBREV_24:
    read32 0xfaafcff8 -> 0x400422c5
    My 14e4:432b is SSB_IDLOW_SSBREV_26 again:
    read32 0xfaafcff8 -> 0x600422d5

    For all of them wl driver is using 0x2 reject bit:
    write32(0xf98)
    Signed-off-by: John W. Linville

    Rafał Miłecki
     

26 Apr, 2011

2 commits


05 Apr, 2011

1 commit


19 Feb, 2011

2 commits


10 Feb, 2011

1 commit


27 Dec, 2010

1 commit


17 Dec, 2010

1 commit

  • The nvram_get function was never in the mainline kernel, it only existed in
    an external OpenWrt patch. Use nvram_getenv function, which is in mainline
    and use an include instead of an extra function declaration. et0macaddr
    contains the mac address in text from like 00:11:22:33:44:55. We have to
    parse it before adding it into macaddr.

    nvram_parse_macaddr will be merged into asm/mach-bcm47xx/nvram.h through
    the MIPS git tree and will be available soon. It will not build now without
    nvram_parse_macaddr, but it hasn't before either.

    Signed-off-by: Hauke Mehrtens
    To: linux-mips@linux-mips.org
    Cc: mb@bu3sch.de
    Cc: netdev@vger.kernel.org
    Cc: Hauke Mehrtens
    Acked-by: Michael Buesch
    Patchwork: https://patchwork.linux-mips.org/patch/1849/
    Signed-off-by: Ralf Baechle

    Hauke Mehrtens
     

03 Dec, 2010

1 commit


25 Aug, 2010

1 commit


05 Jun, 2010

2 commits

  • Now they are unnecessary. We can use the generic DMA API with any bus.

    Signed-off-by: FUJITA Tomonori
    Cc: Michael Buesch
    Cc: Gary Zambrano
    Cc: Stefano Brivio
    Cc: Larry Finger
    Cc: John W. Linville
    Cc: David S. Miller
    Signed-off-by: Andrew Morton
    Signed-off-by: John W. Linville

    FUJITA Tomonori
     
  • Add dma_dev, a pointer to struct device, to struct ssb_device. We pass it
    to the generic DMA API with SSB_BUSTYPE_PCI and SSB_BUSTYPE_SSB.
    ssb_devices_register() sets up it properly.

    This is preparation for replacing the ssb bus specific DMA API (ssb_dma_*)
    with the generic DMA API.

    Signed-off-by: FUJITA Tomonori
    Acked-by: Michael Buesch
    Cc: Gary Zambrano
    Cc: Stefano Brivio
    Cc: Larry Finger
    Cc: John W. Linville
    Acked-by: David S. Miller
    Signed-off-by: Andrew Morton
    Signed-off-by: John W. Linville

    FUJITA Tomonori
     

27 Apr, 2010

4 commits

  • Signed-off-by: Rafał Miłecki
    Signed-off-by: John W. Linville

    Rafał Miłecki
     
  • Signed-off-by: Rafał Miłecki
    Signed-off-by: John W. Linville

    Rafał Miłecki
     
  • Our offset handling becomes even a little more hackish now. For some reason I
    do not understand all offsets as inrelative. It assumes base offset is 0x1000
    but it will work for now as we make offsets relative anyway by removing base
    0x1000. Should be cleaner however.

    Signed-off-by: Rafał Miłecki
    Signed-off-by: John W. Linville

    Rafał Miłecki
     
  • Attempting to read registers that don't exist on the SSB bus can cause
    hangs on some boxes. At least some b43 devices are 'in the wild' that
    don't have SPROMs at all. When the SSB bus support loads, it attempts
    to read these (non-existant) SPROMs and causes hard hangs on the box --
    no console output, etc.

    This patch adds some intelligence to determine whether or not the SPROM
    is present before attempting to read it. This avoids those hard hangs
    on those devices with no SPROM attached to their SSB bus. The
    SSB-attached devices (e.g. b43, et al.) won't work, but at least the box
    will survive to test further patches. :-)

    Signed-off-by: John W. Linville
    Signed-off-by: Rafał Miłecki
    Cc: Larry Finger
    Cc: Michael Buesch

    John W. Linville
     

28 Oct, 2009

1 commit


09 Sep, 2009

1 commit

  • Add support for communicating with a Sonics Silicon Backplane through a
    SDIO interface, as found in the Nintendo Wii WLAN daughter card.

    The Nintendo Wii WLAN card includes a custom Broadcom 4318 chip with
    a SDIO host interface.

    Signed-off-by: Albert Herranz
    Signed-off-by: Michael Buesch
    Signed-off-by: John W. Linville

    Albert Herranz
     

29 Aug, 2009

1 commit


14 Aug, 2009

1 commit