08 Feb, 2016

1 commit


28 Oct, 2015

1 commit


28 Jul, 2015

1 commit


28 May, 2015

1 commit

  • Most code already uses consts for the struct kernel_param_ops,
    sweep the kernel for the last offending stragglers. Other than
    include/linux/moduleparam.h and kernel/params.c all other changes
    were generated with the following Coccinelle SmPL patch. Merge
    conflicts between trees can be handled with Coccinelle.

    In the future git could get Coccinelle merge support to deal with
    patch --> fail --> grammar --> Coccinelle --> new patch conflicts
    automatically for us on patches where the grammar is available and
    the patch is of high confidence. Consider this a feature request.

    Test compiled on x86_64 against:

    * allnoconfig
    * allmodconfig
    * allyesconfig

    @ const_found @
    identifier ops;
    @@

    const struct kernel_param_ops ops = {
    };

    @ const_not_found depends on !const_found @
    identifier ops;
    @@

    -struct kernel_param_ops ops = {
    +const struct kernel_param_ops ops = {
    };

    Generated-by: Coccinelle SmPL
    Cc: Rusty Russell
    Cc: Junio C Hamano
    Cc: Andrew Morton
    Cc: Kees Cook
    Cc: Tejun Heo
    Cc: Ingo Molnar
    Cc: cocci@systeme.lip6.fr
    Cc: linux-kernel@vger.kernel.org
    Signed-off-by: Luis R. Rodriguez
    Signed-off-by: Rusty Russell

    Luis R. Rodriguez
     

03 Apr, 2015

2 commits


17 Mar, 2015

1 commit


05 Dec, 2014

1 commit

  • After commit b2b49ccbdd54 (PM: Kconfig: Set PM_RUNTIME if PM_SLEEP is
    selected) PM_RUNTIME is always set if PM is set, so #ifdef blocks
    depending on CONFIG_PM_RUNTIME may now be changed to depend on
    CONFIG_PM.

    Replace CONFIG_PM_RUNTIME with CONFIG_PM everywhere under
    drivers/misc/.

    Signed-off-by: Rafael J. Wysocki
    Acked-by: Greg Kroah-Hartman

    Rafael J. Wysocki
     

08 Feb, 2014

1 commit


07 Jun, 2013

1 commit


30 Apr, 2013

1 commit


22 Nov, 2012

3 commits


27 Sep, 2012

6 commits

  • Add lis3lv02d device tree initialization code/API to take pdata from
    device node. Also adds device tree init matching table support to
    lis3lv02d_i2c driver. If the driver data is passed from device tree, then
    this driver picks up platform data from device node through common/generic
    lis3lv02d.c driver.

    [akpm@linux-foundation.org: fix CONFIG_OF=n build]
    Signed-off-by: AnilKumar Ch
    Cc: Eric Piel
    Reviewed-by: Arnd Bergmann
    Cc: Mark Brown
    Cc: Tony Lindgren
    Signed-off-by: Andrew Morton
    Signed-off-by: Greg Kroah-Hartman

    AnilKumar Ch
     
  • Add lis3lv02d device tree initialization code/API to take pdata from
    device node. Also remove CONFIG_OF ifdef from the driver, if CONFIG_OF is
    not defined then OF APIs returns 0.

    [akpm@linux-foundation.org: fix CONFIG_OF=n build[
    Signed-off-by: AnilKumar Ch
    Cc: Eric Piel
    Reviewed-by: Arnd Bergmann
    Cc: Mark Brown
    Cc: Tony Lindgren
    Signed-off-by: Andrew Morton
    Signed-off-by: Greg Kroah-Hartman

    AnilKumar Ch
     
  • Remove lis3lv02d driver device tree initialization from core driver and
    move it to individual drivers. With the current implementation some pdata
    parameters are missing if we use lis3lv02d_init_device() in lis3lv02d_i2c
    driver.

    Signed-off-by: AnilKumar Ch
    Cc: Eric Piel
    Reviewed-by: Arnd Bergmann
    Cc: Mark Brown
    Cc: Tony Lindgren
    Signed-off-by: Andrew Morton
    Signed-off-by: Greg Kroah-Hartman

    AnilKumar Ch
     
  • If probed from a device tree, this driver now passes the node information
    to the generic part, so the runtime information can be derived.

    Successfully tested on a PXA3xx board.

    [akpm@linux-foundation.org: fix lis302dl_spi_dt_ids unused warning when CONFIG_OF=n]
    Signed-off-by: Daniel Mack
    Cc: Rob Herring
    Cc: "AnilKumar, Chimata"
    Reviewed-by: Éric Piel
    Signed-off-by: Andrew Morton
    Signed-off-by: Greg Kroah-Hartman

    Daniel Mack
     
  • Adds logic to parse lis3 properties from a device tree node and store them
    in a freshly allocated lis3lv02d_platform_data.

    Note that the actual match tables are left out here. This part should
    happen in the drivers that bind to the individual busses (SPI/I2C/PCI).

    Also adds some DT bindinds documentation.

    Signed-off-by: Daniel Mack
    Cc: Rob Herring
    Cc: "AnilKumar, Chimata"
    Reviewed-by: Éric Piel
    Signed-off-by: Andrew Morton
    Signed-off-by: Greg Kroah-Hartman

    Daniel Mack
     
  • Fix some minor problems in comments of lis331dlh driver
    * correct comments with respect to 2G sensitivity
    * correct typo lis3331dlh mistake to lis331dlh
    * add comment to say only 2G range is supported
    * change the function name from lis3lv02d_read_16 to
    lis331dlh_read_data.
    * update i2c_device_id table entry to maintaine consistancy
    * update sensor display message

    Signed-off-by: AnilKumar Ch
    Signed-off-by: Greg Kroah-Hartman

    AnilKumar Ch
     

06 Sep, 2012

1 commit


25 Jan, 2012

2 commits

  • This patch converts the drivers in drivers/misc/* to use the
    module_spi_driver() macro which makes the code smaller and a bit
    simpler.

    Signed-off-by: Axel Lin
    Cc: Michael Hennerich
    Cc: Anatolij Gustschin
    Cc: Daniel Mack
    Acked-by: Michael Hennerich
    Signed-off-by: Greg Kroah-Hartman

    Axel Lin
     
  • This patch converts the drivers in drivers/misc/* to use the
    module_i2c_driver() macro which makes the code smaller and a bit
    simpler.

    Signed-off-by: Axel Lin
    Cc: Michael Hennerich
    Cc: Anantha Narayanan
    Cc: Hemanth V
    Cc: Christoph Mair
    Cc: Grant Likely
    Cc: Ben Gardner
    Cc: Minkyu Kang
    Cc: Kalhan Trisal
    Cc: Darrick J. Wong
    Cc: Daniel Mack
    Cc: Rodolfo Giometti
    Acked-by: Arnd Bergmann
    Signed-off-by: Greg Kroah-Hartman

    Axel Lin
     

13 Jan, 2012

1 commit


01 Nov, 2011

6 commits

  • The regulator API contains a range of features for stubbing itself out
    when not in use and for transparently restricting the actual effect of
    regulator API calls where they can't be supported on a particular system
    so that drivers don't need to individually implement this. Simplify the
    driver slightly by making use of this idiom.

    The only in tree user is ecovec24 which does not use the regulator API.

    Signed-off-by: Mark Brown
    Cc: Éric Piel
    Cc: Ilkka Koskinen
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mark Brown
     
  • [ilkka.koskinen@nokia.com: fix arg to lis3->read()]
    Signed-off-by: Ilkka Koskinen
    Signed-off-by: Éric Piel
    Cc: Matthew Garrett
    Cc: Witold Pilat
    Cc: Lyall Pearce
    Cc: Malte Starostik
    Cc: Thadeu Lima de Souza Cascardo
    Cc: Christian Lamparter
    Subject: lis3-remove-the-references-to-the-global-variable-in-core-driver-fix
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Éric Piel
     
  • Change exported functions to use the device given as parameter
    instead of the global one.

    Signed-off-by: Ilkka Koskinen
    Signed-off-by: Éric Piel
    Cc: Matthew Garrett
    Cc: Witold Pilat
    Cc: Lyall Pearce
    Cc: Malte Starostik
    Cc: Thadeu Lima de Souza Cascardo
    Cc: Christian Lamparter
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Éric Piel
     
  • Signed-off-by: Ilkka Koskinen
    Signed-off-by: Éric Piel
    Cc: Matthew Garrett
    Cc: Witold Pilat
    Cc: Lyall Pearce
    Cc: Malte Starostik
    Cc: Thadeu Lima de Souza Cascardo
    Cc: Christian Lamparter
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Éric Piel
     
  • Signed-off-by: Ilkka Koskinen
    Signed-off-by: Éric Piel
    Cc: Matthew Garrett
    Cc: Witold Pilat
    Cc: Lyall Pearce
    Cc: Malte Starostik
    Cc: Thadeu Lima de Souza Cascardo
    Cc: Christian Lamparter
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Éric Piel
     
  • After an "unexpected" reboot, I found this Oops in my logs:

    divide error: 0000 [#1] PREEMPT SMP=20
    CPU 0=20
    Modules linked in: lis3lv02d hp_wmi input_polldev [...]
    Pid: 390, comm: modprobe Tainted: G C 2.6.39-rc7-wl+=20
    RIP: 0010:[] []
    lis3lv02d_poweron+0x4e/0x94 [lis3lv02d]
    RSP: 0018:ffff8801d6407cf8 EFLAGS: 00010246
    RAX: 0000000000000bb8 RBX: ffffffffa014e000 RCX: 0000000000000000
    RDX: 0000000000000000 RSI: ffffea00066e4708 RDI: ffff8801df002700
    RBP: ffff8801d6407d18 R08: ffffea00066c5a30 R09: ffffffff812498c9
    R10: ffff8801d7bfcea0 R11: ffff8801d7bfce10 R12: 0000000000000bb8
    R13: 00000000ffffffda R14: ffffffffa0154120 R15: ffffffffa0154030
    =46S: 00007fc0705db700(0000) GS:ffff8801dfa00000(0000) knlGS:0
    CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b
    CR2: 00007f33549174f0 CR3: 00000001d65c9000 CR4: 00000000000406f0
    Process modprobe (pid: 390, threadinfo ffff8801d6406000, task ffff8801d6b40=
    000)
    Stack:
    ffffffffa0154120 62ffffffa0154030 ffffffffa014e000 00000000ffffffea
    ffff8801d6407d58 ffffffffa014bcc1 0000000000000000 0000000000000048
    ffff8801d8bae800 00000000ffffffea 00000000ffffffda ffffffffa0154120
    Call Trace:
    [] lis3lv02d_init_device+0x1ce/0x496 [lis3lv02d]
    [] lis3lv02d_add+0x10f/0x17c [hp_accel]
    [] acpi_device_probe+0x49/0x117
    [...]
    Code: 3a 75 06 80 4d ef 50 eb 04 80 4d ef 40 0f b6 55 ef be 21
    00 00 00 48 89 df ff 53 18 44 8b 63 6c e8 3e fc ff ff 89 c1 44
    89 e0 99 f9 89 c7 e8 93 82 ef e0 48 83 7b 30 00 74 2d 45
    31 e4 80 7b=20
    RIP [] lis3lv02d_poweron+0x4e/0x94 [lis3lv02d]
    RSP

    >From my POV, it looks like the hardware is not working as expected
    and returns a bogus data rate. The driver doesn't check the result
    and directly uses it as some sort of divisor in some places:

    msleep(lis3->pwron_delay / lis3lv02d_get_odr());

    Under this circumstances, this could very well cause the
    "divide by zero" exception from above.

    For now, I fixed it the easiest and most obvious way:
    Check if the result is sane and if it isn't use a sane default
    instead. I went for "100" in the latter case, simply because
    /sys/devices/platform/lis3lv02d/rate returns it on a successful
    boot.

    Signed-off-by: Christian Lamparter
    Signed-off-by: Éric Piel
    Cc: Matthew Garrett
    Cc: Witold Pilat
    Cc: Lyall Pearce
    Cc: Malte Starostik
    Cc: Ilkka Koskinen
    Cc: Thadeu Lima de Souza Cascardo
    Cc: Christian Lamparter
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Éric Piel
     

04 Oct, 2011

1 commit

  • Commit 2a7fade7e03 ("hwmon: lis3: Power on corrections") caused a
    regression on HP laptops with 8bit chip. Writing CTRL2_BOOT_8B bit seems
    clearing the BIOS setup, and no proper interrupt for DriveGuard will be
    triggered any more.

    Since the init code there is basically only for embedded devices, put a
    pdata check so that the problematic initialization will be skipped for
    hp_accel stuff.

    Signed-off-by: Takashi Iwai
    Cc: Eric Piel
    Cc: Samu Onkalo
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Takashi Iwai
     

22 Mar, 2011

1 commit

  • The lis3lv02d drivers aren't hardware monitoring drivers, so the don't
    belong to drivers/hwmon. Move them to drivers/misc, short of a better
    home.

    Signed-off-by: Jean Delvare
    Acked-by: Guenter Roeck
    Acked-by: Eric Piel
    Acked-by: Jonathan Cameron
    Tested-by: Eric Piel
    Tested-by: Takashi Iwai

    Jean Delvare