29 Nov, 2012

2 commits

  • CONFIG_HOTPLUG is going away as an option so __devexit is no
    longer needed.

    Signed-off-by: Bill Pemberton
    Cc: Srinidhi Kasagar
    Cc: Peter Tyser
    Cc: Daniel Walker
    Cc: Bryan Huntsman
    Acked-by: David Brown
    Acked-by: Linus Walleij
    Acked-by: Mark Brown
    Signed-off-by: Greg Kroah-Hartman

    Bill Pemberton
     
  • CONFIG_HOTPLUG is going away as an option so __devexit_p is no longer
    needed.

    Signed-off-by: Bill Pemberton
    Cc: Srinidhi Kasagar
    Cc: Peter Tyser
    Cc: Daniel Walker
    Cc: Bryan Huntsman
    Acked-by: David Brown
    Acked-by: Linus Walleij
    Acked-by: Mark Brown
    Signed-off-by: Greg Kroah-Hartman

    Bill Pemberton
     

16 Sep, 2012

1 commit

  • Currently the MFD core supports remapping MFD cell interrupts using an
    irqdomain but only if the MFD is being instantiated using device tree
    and only if the device tree bindings use the pattern of registering IPs
    in the device tree with compatible properties. This will be actively
    harmful for drivers which support non-DT platforms and use this pattern
    for their DT bindings as it will mean that the core will silently change
    remapping behaviour and it is also limiting for drivers which don't do
    DT with this particular pattern. There is also a potential fragility if
    there are interrupts not associated with MFD cells and all the cells are
    omitted from the device tree for some reason.

    Instead change the code to take an IRQ domain as an optional argument,
    allowing drivers to take the decision about the parent domain for their
    interrupts. The one current user of this feature is ab8500-core, it has
    the domain lookup pushed out into the driver.

    Signed-off-by: Mark Brown
    Signed-off-by: Samuel Ortiz

    Mark Brown
     

09 Aug, 2012

1 commit

  • In commit 4f304245b "mfd: Set asic3 DS1WM clock_rate", a possible
    path through asic3_mfd_probe was introduced that would lead to
    an unpredictable return value, if everything succeeds but there
    are pdata->leds is NULL. This was reported correctly by gcc.

    Without this patch, building magician_defconfig results in:

    drivers/mfd/asic3.c: In function 'asic3_mfd_probe':
    drivers/mfd/asic3.c:940:2: warning: 'ret' may be used uninitialized in this function [-Wuninitialized]

    Signed-off-by: Arnd Bergmann
    Cc: Paul Parsons
    Cc: Philipp Zabel
    Cc: Samuel Ortiz

    Arnd Bergmann
     

01 May, 2012

4 commits

  • The gpiolib code will only call our gpio_to_irq ops for our registered
    GPIO range.

    Signed-off-by: Samuel Ortiz

    Samuel Ortiz
     
  • The mfd/asic3 driver does not currently define a irq_set_wake() handler.
    Consequently any attempt to configure the 3 ASIC3 GPIO buttons - RECORD,
    CALENDAR, HOME - as wakeup sources results in Unbalanced IRQ warnings
    when the system is woken from sleep mode:

    WARNING: at kernel/irq/manage.c:520 irq_set_irq_wake+0xc4/0xf8()
    Unbalanced IRQ 342 wake disable
    ...
    WARNING: at kernel/irq/manage.c:520 irq_set_irq_wake+0xc4/0xf8()
    Unbalanced IRQ 337 wake disable
    ...
    WARNING: at kernel/irq/manage.c:520 irq_set_irq_wake+0xc4/0xf8()
    Unbalanced IRQ 339 wake disable
    ...

    This patch adds a irq_set_wake() handler to the mfd/asic3 driver.

    Signed-off-by: Paul Parsons
    Cc: Philipp Zabel
    Signed-off-by: Samuel Ortiz

    Paul Parsons
     
  • The mfd/asic3 driver does not set the ds1wm_driver_data clock_rate field
    before passing the structure to the DS1WM w1 busmaster driver.
    This was not noticed before commit 26a6afb, because ds1wm_find_divisor()
    unintentionally returned the correct divisor when a zero clock_rate was
    passed in. However after that commit DS1WM fails a zero clock_rate:

    ds1wm ds1wm: no suitable divisor for 0Hz clock

    This patch sets the ds1wm_driver_data clock_rate field.

    Signed-off-by: Paul Parsons
    Acked-by: Philipp Zabel
    Signed-off-by: Samuel Ortiz

    Paul Parsons
     
  • This patch is part of a set which adds PCMCIA/CF support for the hx4700.
    This patch adds asic3_set_register() calls to:
    1. Enable the PCMCIA/CF in asic3_probe().
    2. Disable the PCMCIA/CF in asic3_remove().

    Signed-off-by: Paul Parsons
    Acked-by: Philipp Zabel
    Signed-off-by: Samuel Ortiz

    Paul Parsons
     

17 Apr, 2012

1 commit

  • Assumption that irq numbers of asic3 gpios start at
    IRQ_BOARD_START is certainly wrong - driver may as well
    use any other base for its irqs (consider for example
    the imaginary case of two ASIC3 chips onboard)

    Furthermore, some platforms even don't have IRQ_BOARD_START
    defined, so driver will fail to build on them:
    -------------------------------------------------------
    drivers/mfd/asic3.c: In function 'asic3_gpio_to_irq':
    drivers/mfd/asic3.c:530: error: 'IRQ_BOARD_START' undeclared (first use in this function)
    drivers/mfd/asic3.c:530: error: (Each undeclared identifier is reported only once
    drivers/mfd/asic3.c:530: error: for each function it appears in.)
    -------------------------------------------------------

    Fix it by using irq_base from driver data.

    Signed-off-by: Dmitry Artamonow
    Signed-off-by: Samuel Ortiz

    Dmitry Artamonow
     

07 Mar, 2012

1 commit

  • The gpio_to_irq() macro is now defined as __gpio_to_irq() instead of IRQ_GPIO().
    The __gpio_to_irq() function returns -ENXIO if the referenced gpio_chip
    structure does not define a to_irq() member.
    This is true of the asic3 gpio_chip structure, and thus calls to gpio_to_irq()
    now fail (for example from the gpio-vbus module).
    This patch defines the to_irq() member in the asic3 gpio_chip structure.

    Signed-off-by: Paul Parsons
    Signed-off-by: Samuel Ortiz

    Paul Parsons
     

07 Nov, 2011

1 commit

  • * 'modsplit-Oct31_2011' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux: (230 commits)
    Revert "tracing: Include module.h in define_trace.h"
    irq: don't put module.h into irq.h for tracking irqgen modules.
    bluetooth: macroize two small inlines to avoid module.h
    ip_vs.h: fix implicit use of module_get/module_put from module.h
    nf_conntrack.h: fix up fallout from implicit moduleparam.h presence
    include: replace linux/module.h with "struct module" wherever possible
    include: convert various register fcns to macros to avoid include chaining
    crypto.h: remove unused crypto_tfm_alg_modname() inline
    uwb.h: fix implicit use of asm/page.h for PAGE_SIZE
    pm_runtime.h: explicitly requires notifier.h
    linux/dmaengine.h: fix implicit use of bitmap.h and asm/page.h
    miscdevice.h: fix up implicit use of lists and types
    stop_machine.h: fix implicit use of smp.h for smp_processor_id
    of: fix implicit use of errno.h in include/linux/of.h
    of_platform.h: delete needless include
    acpi: remove module.h include from platform/aclinux.h
    miscdevice.h: delete unnecessary inclusion of module.h
    device_cgroup.h: delete needless include
    net: sch_generic remove redundant use of
    net: inet_timewait_sock doesnt need
    ...

    Fix up trivial conflicts (other header files, and removal of the ab3550 mfd driver) in
    - drivers/media/dvb/frontends/dibx000_common.c
    - drivers/media/video/{mt9m111.c,ov6650.c}
    - drivers/mfd/ab3550-core.c
    - include/linux/dmaengine.h

    Linus Torvalds
     

01 Nov, 2011

1 commit


24 Oct, 2011

4 commits


09 Jul, 2011

1 commit

  • This fixes a regression in 3.0 reported by Paul Parsons regarding the
    removal of the msleep(1) in the ds1wm_reset() function:

    : The linux-3.0-rc4 DS1WM 1-wire driver is logging "bus error, retrying"
    : error messages on an HP iPAQ hx4700 PDA (XScale-PXA270):
    :
    :
    : Driver for 1-wire Dallas network protocol.
    : DS1WM w1 busmaster driver - (c) 2004 Szabolcs Gyurko
    : 1-Wire driver for the DS2760 battery monitor chip - (c) 2004-2005, Szabolcs Gyurko
    : ds1wm ds1wm: pass: 1 bus error, retrying
    : ds1wm ds1wm: pass: 2 bus error, retrying
    : ds1wm ds1wm: pass: 3 bus error, retrying
    : ds1wm ds1wm: pass: 4 bus error, retrying
    : ds1wm ds1wm: pass: 5 bus error, retrying
    : ...
    :
    : The visible result is that the battery charging LED is erratic; sometimes
    : it works, mostly it doesn't.
    :
    : The linux-2.6.39 DS1WM 1-wire driver worked OK. I haven't tried 3.0-rc1,
    : 3.0-rc2, or 3.0-rc3.

    This sleep should not be required on normal circuitry provided the
    pull-ups on the bus are correctly adapted to the slaves. Unfortunately,
    this is not always the case. The sleep is restored but as a parameter to
    the probe function in the pdata.

    [akpm@linux-foundation.org: coding-style fixes]
    Reported-by: Paul Parsons
    Tested-by: Paul Parsons
    Signed-off-by: Jean-François Dagenais
    Cc: Evgeniy Polyakov
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jean-François Dagenais
     

27 May, 2011

4 commits


11 May, 2011

1 commit

  • Fix below compile error:

    CC drivers/mfd/asic3.o
    drivers/mfd/asic3.c: In function 'asic3_irq_demux':
    drivers/mfd/asic3.c:147: error: 'irq_data' undeclared (first use in this function)
    drivers/mfd/asic3.c:147: error: (Each undeclared identifier is reported only once
    drivers/mfd/asic3.c:147: error: for each function it appears in.)

    Signed-off-by: Axel Lin
    Signed-off-by: Samuel Ortiz

    Axel Lin
     

27 Mar, 2011

3 commits


23 Mar, 2011

3 commits

  • Use mfd_data for passing information from mfd drivers to mfd
    clients. The mfd_cell's driver_data field is being phased out.

    Clients that were using driver_data now access .mfd_data
    via mfd_get_data(). This changes tmio-mmc only; mfd drivers with
    other cells are not modified.

    Signed-off-by: Andres Salomon
    Signed-off-by: Samuel Ortiz

    Andres Salomon
     
  • Use mfd_data for passing information from mfd drivers to mfd
    clients. The mfd_cell's driver_data field is being phased out.

    Clients that were using driver_data now access .mfd_data
    via mfd_get_data(). This changes ds1wm only; mfd drivers with
    other cells are not modified, with the exception of led_cell.

    The led_cell.driver_data line is dropped from htc-pasic3.c in this
    patch as well. It's not used in mainline (there's no leds-pasic3
    platform driver), so it should be safe to take care of that here.

    Signed-off-by: Andres Salomon
    Signed-off-by: Samuel Ortiz

    Andres Salomon
     
  • No need to explicitly set the cell's platform_data/data_size.

    Modify clients to use mfd_get_cell helper function instead of
    accessing platform_data directly.

    Signed-off-by: Andres Salomon
    Signed-off-by: Samuel Ortiz

    Andres Salomon
     

02 Mar, 2011

1 commit


14 Jan, 2011

3 commits


30 Mar, 2010

1 commit

  • …it slab.h inclusion from percpu.h

    percpu.h is included by sched.h and module.h and thus ends up being
    included when building most .c files. percpu.h includes slab.h which
    in turn includes gfp.h making everything defined by the two files
    universally available and complicating inclusion dependencies.

    percpu.h -> slab.h dependency is about to be removed. Prepare for
    this change by updating users of gfp and slab facilities include those
    headers directly instead of assuming availability. As this conversion
    needs to touch large number of source files, the following script is
    used as the basis of conversion.

    http://userweb.kernel.org/~tj/misc/slabh-sweep.py

    The script does the followings.

    * Scan files for gfp and slab usages and update includes such that
    only the necessary includes are there. ie. if only gfp is used,
    gfp.h, if slab is used, slab.h.

    * When the script inserts a new include, it looks at the include
    blocks and try to put the new include such that its order conforms
    to its surrounding. It's put in the include block which contains
    core kernel includes, in the same order that the rest are ordered -
    alphabetical, Christmas tree, rev-Xmas-tree or at the end if there
    doesn't seem to be any matching order.

    * If the script can't find a place to put a new include (mostly
    because the file doesn't have fitting include block), it prints out
    an error message indicating which .h file needs to be added to the
    file.

    The conversion was done in the following steps.

    1. The initial automatic conversion of all .c files updated slightly
    over 4000 files, deleting around 700 includes and adding ~480 gfp.h
    and ~3000 slab.h inclusions. The script emitted errors for ~400
    files.

    2. Each error was manually checked. Some didn't need the inclusion,
    some needed manual addition while adding it to implementation .h or
    embedding .c file was more appropriate for others. This step added
    inclusions to around 150 files.

    3. The script was run again and the output was compared to the edits
    from #2 to make sure no file was left behind.

    4. Several build tests were done and a couple of problems were fixed.
    e.g. lib/decompress_*.c used malloc/free() wrappers around slab
    APIs requiring slab.h to be added manually.

    5. The script was run on all .h files but without automatically
    editing them as sprinkling gfp.h and slab.h inclusions around .h
    files could easily lead to inclusion dependency hell. Most gfp.h
    inclusion directives were ignored as stuff from gfp.h was usually
    wildly available and often used in preprocessor macros. Each
    slab.h inclusion directive was examined and added manually as
    necessary.

    6. percpu.h was updated not to include slab.h.

    7. Build test were done on the following configurations and failures
    were fixed. CONFIG_GCOV_KERNEL was turned off for all tests (as my
    distributed build env didn't work with gcov compiles) and a few
    more options had to be turned off depending on archs to make things
    build (like ipr on powerpc/64 which failed due to missing writeq).

    * x86 and x86_64 UP and SMP allmodconfig and a custom test config.
    * powerpc and powerpc64 SMP allmodconfig
    * sparc and sparc64 SMP allmodconfig
    * ia64 SMP allmodconfig
    * s390 SMP allmodconfig
    * alpha SMP allmodconfig
    * um on x86_64 SMP allmodconfig

    8. percpu.h modifications were reverted so that it could be applied as
    a separate patch and serve as bisection point.

    Given the fact that I had only a couple of failures from tests on step
    6, I'm fairly confident about the coverage of this conversion patch.
    If there is a breakage, it's likely to be something in one of the arch
    headers which should be easily discoverable easily on most builds of
    the specific arch.

    Signed-off-by: Tejun Heo <tj@kernel.org>
    Guess-its-ok-by: Christoph Lameter <cl@linux-foundation.org>
    Cc: Ingo Molnar <mingo@redhat.com>
    Cc: Lee Schermerhorn <Lee.Schermerhorn@hp.com>

    Tejun Heo
     

18 Jan, 2010

1 commit

  • This patch abstracts out the CNF area code from tmio_mmc which
    is not present in all hardware that can use this driver. This
    is required so that we can support non-toshiba based hardware.

    ASIC3 support by Philipp Zabel

    Signed-off-by: Ian Molton
    Signed-off-by: Magnus Damm
    Signed-off-by: Samuel Ortiz

    Ian Molton
     

14 Dec, 2009

1 commit


18 Jun, 2009

5 commits