19 Jun, 2019

1 commit

  • Based on 2 normalized pattern(s):

    this program is free software you can redistribute it and or modify
    it under the terms of the gnu general public license version 2 as
    published by the free software foundation

    this program is free software you can redistribute it and or modify
    it under the terms of the gnu general public license version 2 as
    published by the free software foundation #

    extracted by the scancode license scanner the SPDX license identifier

    GPL-2.0-only

    has been chosen to replace the boilerplate/reference in 4122 file(s).

    Signed-off-by: Thomas Gleixner
    Reviewed-by: Enrico Weigelt
    Reviewed-by: Kate Stewart
    Reviewed-by: Allison Randal
    Cc: linux-spdx@vger.kernel.org
    Link: https://lkml.kernel.org/r/20190604081206.933168790@linutronix.de
    Signed-off-by: Greg Kroah-Hartman

    Thomas Gleixner
     

16 May, 2018

1 commit


10 Aug, 2016

1 commit

  • gpiochip_add_data() has to be called before calling
    max7301_direction_input()

    [ 4.389883] Unable to handle kernel paging request for data at address 0x00000018
    [ 4.397282] Faulting instruction address: 0xc01a8cbc
    [ 4.402023] Oops: Kernel access of bad area, sig: 11 [#1]
    [ 4.407331] PREEMPT CMPC885
    [ 4.410131] CPU: 0 PID: 6 Comm: kworker/u2:0 Not tainted 4.5.0-gacdfdee #39
    [ 4.418592] Workqueue: deferwq deferred_probe_work_func
    [ 4.423711] task: c60798b0 ti: c608a000 task.ti: c608a000
    [ 4.429038] NIP: c01a8cbc LR: c01a8e24 CTR: c01ff028
    [ 4.433953] REGS: c608bad0 TRAP: 0300 Not tainted (4.5.0-s3k-dev-gacdfdee-svn-dirty)
    [ 4.441847] MSR: 00009032 CR: 33039553 XER: a000f940
    [ 4.448395] DAR: 00000018 DSISR: c0000000
    GPR00: c01a8e24 c608bb80 c60798b0 c60d6f6c 00000004 00000002 07de2900 00700000
    GPR08: 00000000 00000000 c608a000 00001032 35039553 00000000 c002f37c c6010b64
    GPR16: c6010a48 c6010a14 c6010a00 00000000 c0450000 c0453568 c0453438 c050db14
    GPR24: c62662bc 00000009 ffffffaa c60d6f5d 00000001 00000000 00000000 00000000
    [ 4.480371] NIP [c01a8cbc] max7301_direction_input+0x20/0x9c
    [ 4.485951] LR [c01a8e24] __max730x_probe+0xec/0x138
    [ 4.490812] Call Trace:
    [ 4.493268] [c608bba0] [c01a8e24] __max730x_probe+0xec/0x138
    [ 4.498878] [c608bbc0] [c01cc368] driver_probe_device+0x190/0x38c
    [ 4.504895] [c608bbf0] [c01ca918] bus_for_each_drv+0x58/0xb4
    [ 4.510489] [c608bc20] [c01cc04c] __device_attach+0x8c/0x110
    [ 4.516082] [c608bc50] [c01cab80] bus_probe_device+0x34/0xb8
    [ 4.521673] [c608bc70] [c01c96c8] device_add+0x3c0/0x598
    [ 4.526925] [c608bcb0] [c0200f90] spi_add_device+0x114/0x160
    [ 4.532512] [c608bcd0] [c02018d0] spi_register_master+0x6e0/0x7c8
    [ 4.538537] [c608bd20] [c02019fc] devm_spi_register_master+0x44/0x8c
    [ 4.544824] [c608bd40] [c0203854] of_fsl_spi_probe+0x458/0x57c
    [ 4.550587] [c608bda0] [c01cd828] platform_drv_probe+0x30/0x74
    [ 4.556366] [c608bdb0] [c01cc368] driver_probe_device+0x190/0x38c
    [ 4.562383] [c608bde0] [c01ca918] bus_for_each_drv+0x58/0xb4
    [ 4.567977] [c608be10] [c01cc04c] __device_attach+0x8c/0x110
    [ 4.573572] [c608be40] [c01cab80] bus_probe_device+0x34/0xb8
    [ 4.579170] [c608be60] [c01cb9b4] deferred_probe_work_func+0xa4/0xc4
    [ 4.585438] [c608be80] [c0029c04] process_one_work+0x22c/0x414
    [ 4.591201] [c608bea0] [c002a100] worker_thread+0x314/0x5c0
    [ 4.596722] [c608bef0] [c002f444] kthread+0xc8/0xcc
    [ 4.601538] [c608bf40] [c000af84] ret_from_kernel_thread+0x5c/0x64
    [ 4.607596] Instruction dump:
    [ 4.610530] 7c0803a6 bba10014 38210020 4e800020 7c0802a6 9421ffe0 38840004 bf810010
    [ 4.618188] 90010024 549cf0be 83c30010 549d0f7c 7fc3f378 7d3f2430 57ff07fe
    [ 4.626041] ---[ end trace 303adb021dd4caf2 ]---

    Cc: stable@vger.kernel.org
    fixes: 5e45e01916197 ("gpio: max730x: use gpiochip data pointer")
    Signed-off-by: Christophe Leroy
    Signed-off-by: Linus Walleij

    Christophe Leroy
     

05 Jan, 2016

1 commit


19 Nov, 2015

1 commit

  • The name .dev in a struct is normally reserved for a struct device
    that is let us say a superclass to the thing described by the struct.
    struct gpio_chip stands out by confusingly using a struct device *dev
    to point to the parent device (such as a platform_device) that
    represents the hardware. As we want to give gpio_chip:s real devices,
    this is not working. We need to rename this member to parent.

    This was done by two coccinelle scripts, I guess it is possible to
    combine them into one, but I don't know such stuff. They look like
    this:

    @@
    struct gpio_chip *var;
    @@
    -var->dev
    +var->parent

    and:

    @@
    struct gpio_chip var;
    @@
    -var.dev
    +var.parent

    and:

    @@
    struct bgpio_chip *var;
    @@
    -var->gc.dev
    +var->gc.parent

    Plus a few instances of bgpio that I couldn't figure out how
    to teach Coccinelle to rewrite.

    This patch hits all over the place, but I *strongly* prefer this
    solution to any piecemal approaches that just exercise patch
    mechanics all over the place. It mainly hits drivers/gpio and
    drivers/pinctrl which is my own backyard anyway.

    Cc: Haavard Skinnemoen
    Cc: Rafał Miłecki
    Cc: Richard Purdie
    Cc: Mauro Carvalho Chehab
    Cc: Alek Du
    Cc: Jaroslav Kysela
    Cc: Takashi Iwai
    Acked-by: Dmitry Torokhov
    Acked-by: Greg Kroah-Hartman
    Acked-by: Lee Jones
    Acked-by: Jiri Kosina
    Acked-by: Hans-Christian Egtvedt
    Acked-by: Jacek Anaszewski
    Signed-off-by: Linus Walleij

    Linus Walleij
     

03 Oct, 2015

1 commit

  • The function __max730x_remove is called from the remove functions of
    drivers/gpio/gpio-max7300.c and drivers/gpio/gpio-max7301.c. In both
    cases, the probe function allocates ts using devm_kzalloc. Explicitly
    freeing such a value with kfree will cause a double free.

    Signed-off-by: Julia Lawall
    Reviewed-by: Alexandre Courbot
    Signed-off-by: Linus Walleij

    Julia Lawall
     

22 Jul, 2014

1 commit


29 Apr, 2014

1 commit


02 Jan, 2014

1 commit


04 Dec, 2013

1 commit

  • This switches the two members of struct gpio_chip that were
    defined as unsigned foo:1 to bool, because that is indeed what
    they are. Switch all users in the gpio and pinctrl subsystems
    to assign these values with true/false instead of 0/1. The
    users outside these subsystems will survive since true/false
    is 1/0, atleast we set some kind of more strict typing example.

    Signed-off-by: Linus Walleij

    Linus Walleij
     

16 Aug, 2013

1 commit


12 Dec, 2012

1 commit

  • Pull driver core updates from Greg Kroah-Hartman:
    "Here's the large driver core updates for 3.8-rc1.

    The biggest thing here is the various __dev* marking removals. This
    is going to be a pain for the merge with different subsystem trees, I
    know, but all of the patches included here have been ACKed by their
    various subsystem maintainers, as they wanted them to go through here.

    If this is too much of a pain, I can pull all of them out of this tree
    and just send you one with the other fixes/updates and then, after
    3.8-rc1 is out, do the rest of the removals to ensure we catch them
    all, it's up to you. The merges should all be trivial, and Stephen
    has been doing them all in linux-next for a few weeks now quite
    easily.

    Other than the __dev* marking removals, there's nothing major here,
    some firmware loading updates and other minor things in the driver
    core.

    All of these have (much to Stephen's annoyance), been in linux-next
    for a while.

    Signed-off-by: Greg Kroah-Hartman "

    Fixed up trivial conflicts in drivers/gpio/gpio-{em,stmpe}.c due to gpio
    update.

    * tag 'driver-core-3.8-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (93 commits)
    modpost.c: Stop checking __dev* section mismatches
    init.h: Remove __dev* sections from the kernel
    acpi: remove use of __devinit
    PCI: Remove __dev* markings
    PCI: Always build setup-bus when PCI is enabled
    PCI: Move pci_uevent into pci-driver.c
    PCI: Remove CONFIG_HOTPLUG ifdefs
    unicore32/PCI: Remove CONFIG_HOTPLUG ifdefs
    sh/PCI: Remove CONFIG_HOTPLUG ifdefs
    powerpc/PCI: Remove CONFIG_HOTPLUG ifdefs
    mips/PCI: Remove CONFIG_HOTPLUG ifdefs
    microblaze/PCI: Remove CONFIG_HOTPLUG ifdefs
    dma: remove use of __devinit
    dma: remove use of __devexit_p
    firewire: remove use of __devinitdata
    firewire: remove use of __devinit
    leds: remove use of __devexit
    leds: remove use of __devinit
    leds: remove use of __devexit_p
    mmc: remove use of __devexit
    ...

    Linus Torvalds
     

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: Grant Likely
    Acked-by: Linus Walleij
    Cc: Peter Tyser
    Acked-by: Mark Brown
    Signed-off-by: Greg Kroah-Hartman

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

    Signed-off-by: Bill Pemberton
    Cc: Grant Likely
    Cc: Peter Tyser
    Cc: Santosh Shilimkar
    Cc: Kevin Hilman
    Acked-by: Linus Walleij
    Acked-by: Mark Brown
    Signed-off-by: Greg Kroah-Hartman

    Bill Pemberton
     

18 Nov, 2012

1 commit


07 Jun, 2011

1 commit

  • Sort the gpio makefile and enforce the naming convention gpio-*.c for
    gpio drivers.

    v2: cleaned up filenames in Kconfig and comment blocks
    v3: fixup use of BASIC_MMIO to GENERIC_GPIO for mxc

    Signed-off-by: Grant Likely

    Grant Likely