1. 02 7月, 2018 5 次提交
  2. 07 6月, 2018 1 次提交
    • M
      regulator: gpio: Revert · e536700e
      Mark Brown 提交于
      regulator: fixed/gpio: Revert GPIO descriptor changes due to platform breakage
      
      Commit 6059577c "regulator: fixed: Convert to use GPIO descriptor
      only" broke at least the ams-delta platform since the lookup tables
      added to the board files use the function name "enable" while the driver
      uses NULL causing the regulator to not acquire and control the enable
      GPIOs.  Revert that and a couple of other commits that are caught up
      with it to fix the issue:
      
      2b6c00c1 "ARM: pxa, regulator: fix building ezx e680"
      6059577c "regulator: fixed: Convert to use GPIO descriptor only"
      37bed97f "regulator: gpio: Get enable GPIO using GPIO descriptor"
      Reported-by: NJanusz Krzysztofik <jmkrzyszt@gmail.com>
      Signed-off-by: NMark Brown <broonie@kernel.org>
      e536700e
  3. 29 5月, 2018 1 次提交
    • L
      regulator: fixed: Convert to use GPIO descriptor only · 6059577c
      Linus Walleij 提交于
      As we augmented the regulator core to accept a GPIO descriptor instead
      of a GPIO number, we can augment the fixed GPIO regulator to look up
      and pass that descriptor directly from device tree or board GPIO
      descriptor look up tables.
      
      Some boards just auto-enumerate their fixed regulator platform devices
      and I have assumed they get names like "fixed-regulator.0" but it's
      pretty hard to guess this. I need some testing from board maintainers to
      be sure. Other boards are straight forward, using just plain
      "fixed-regulator" (ID -1) or "fixed-regulator.1" hammering down the
      device ID.
      
      The OMAP didn't have proper label names on its GPIO chips so I have fixed
      this with a separate patch to the GPIO tree, see
      commit 088413bc
      "gpio: omap: Give unique labels to each GPIO bank/chip"
      
      It seems the da9055 and da9211 has never got around to actually passing
      any enable gpio into its platform data (not the in-tree code anyway) so we
      can just decide to simply pass a descriptor instead.
      
      The fixed GPIO-controlled regulator in mach-pxa/ezx.c was confusingly named
      "*_dummy_supply_device" while it is a very real device backed by a GPIO
      line. There is nothing dummy about it at all, so I renamed it with the
      infix *_regulator_* as part of this patch set.
      
      For the patch hunk hitting arch/blackfin I would say I do not expect
      testing, review or ACKs anymore so if it works, it works.
      
      The hunk hitting the x86 BCM43xx driver is especially tricky as the number
      comes out of SFI which is a mystery to me. I definately need someone to
      look at this. (Hi Andy.)
      
      Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com> # Check the x86 BCM stuff
      Cc: Alexander Shiyan <shc_work@mail.ru> # i.MX boards user
      Cc: Haojian Zhuang <haojian.zhuang@gmail.com> # MMP2 maintainer
      Cc: Aaro Koskinen <aaro.koskinen@iki.fi> # OMAP1 maintainer
      Cc: Tony Lindgren <tony@atomide.com> # OMAP1,2,3 maintainer
      Cc: Mike Rapoport <rppt@linux.vnet.ibm.com> # EM-X270 maintainer
      Cc: Robert Jarzmik <robert.jarzmik@free.fr> # EZX maintainer
      Cc: Philipp Zabel <philipp.zabel@gmail.com> # Magician maintainer
      Cc: Daniel Mack <zonque@gmail.com> # Raumfeld maintainer
      Cc: Marc Zyngier <marc.zyngier@arm.com> # Zeus maintainer
      Cc: Geert Uytterhoeven <geert+renesas@glider.be> # SuperH pinctrl/GPIO maintainer
      Cc: Russell King <rmk+kernel@armlinux.org.uk> # SA1100
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      Acked-by: NAndy Shevchenko <andriy.shevchenko@linux.intel.com>
      Acked-by: NTony Lindgren <tony@atomide.com>
      Signed-off-by: NMark Brown <broonie@kernel.org>
      6059577c
  4. 24 5月, 2018 2 次提交
    • J
      ASoC: ams_delta: use GPIO lookup table · d65777d1
      Janusz Krzysztofik 提交于
      Now as the Amstrad Delta board provides GPIO lookup tables, switch from
      GPIO numbers to GPIO descriptors and use the table to locate required
      GPIO pins.
      
      The card uses two pins, one for jack and the other for voice modem
      codec DAI control.
      
      For jack pin, remove hardcoded GPIO number and use GPIO descriptor
      based variant of jack GPIO initialization.
      
      For modem_codec pin, declare static variable for storing its GPIO
      descriptor, obtain it on card initialization and replace obsolete
      ams_delta_latch2_write() with gpiod_set_value().  For that to work,
      don't request the modem_codec pin from the board init code anymore.
      
      If the modem_codec GPIO lookup fails, skip initialization of
      functionality of the card which depends on its availability.
      
      Pin naming used by the driver should be followed while respective GPIO
      lookup table is initialized by a board init code.
      
      Created and tested against linux-4.17-rc3, on top of patch 1/6 "ARM:
      OMAP1: ams-delta: add GPIO lookup tables"
      Signed-off-by: NJanusz Krzysztofik <jmkrzyszt@gmail.com>
      Acked-by: NMark Brown <broonie@kernel.org>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      d65777d1
    • J
      ARM: OMAP1: ams-delta: add GPIO lookup tables · 04867389
      Janusz Krzysztofik 提交于
      Scope of the change is limited to GPIO pins used by board specific
      device drivers which will be updated by follow-up patches of the
      series. Those are some OMAP GPIO (gpio-0-15) and most of Amstrad Delta
      latch2 GPIO bank pins. Remaining pins of those banks, as well as
      Amstrad Delta latch1 pins, will be addressed later.
      
      Assign a label ("latch2") to the bank, enumerate its pins and put that
      information, together with OMAP GPIO bank pins, in GPIO lookup tables.
      Assign lookup tables to devices as soon as those devices are registered
      and their names can be obtained.
      
      A step froward in:
      - removal of hard-coded GPIO numbers from drivers,
      - removal of board mach includes from drivers,
      - switching to dynamically assigned GPIO numbers.
      
      Created and compile tested agains linux-4.17-rc3
      Signed-off-by: NJanusz Krzysztofik <jmkrzyszt@gmail.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      04867389
  5. 03 10月, 2017 1 次提交
    • B
      ARM: omap1: add const and initconst to omap_lcd_config · d25c70cf
      Bhumika Goyal 提交于
      Make these const as they are only passed to a const argument of the function
      omapfb_set_lcd_config.
      Also, replace __initdata with __initconst to avoid section conflict error.
      Done using Coccinelle.
      
      @match disable optional_qualifier@
      identifier s;
      @@
      static struct omap_lcd_config s = {...};
      
      @ref@
      position p;
      identifier match.s;
      @@
      s@p
      
      @good1@
      identifier match.s;
      position ref.p;
      @@
      omapfb_set_lcd_config(&s@p,...)
      
      @bad depends on  !good1@
      position ref.p;
      identifier match.s;
      @@
      s@p
      
      @depends on forall !bad disable optional_qualifier@
      identifier match.s;
      @@
      static
      + const
      struct omap_lcd_config s;
      Signed-off-by: NBhumika Goyal <bhumirks@gmail.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      d25c70cf
  6. 28 7月, 2017 1 次提交
    • A
      ARM: omap1/ams-delta: warn about failed regulator enable · 595a9f9a
      Arnd Bergmann 提交于
      The modem pm handler in the ams-delta board uses regulator_enable()
      but does not check for a successful return code:
      
      board-ams-delta.c:521:3: error: ignoring return value of 'regulator_enable', declared with attribute warn_unused_result [-Werror=unused-result]
      
      It is not easy to propagate that return code to the callers in
      uart_configure_port/uart_suspend_port/uart_resume_port, unless
      we change all UART drivers, and it is unclear what those would
      do with the return code.
      
      Instead, this patch uses a runtime warning to replace the
      compiletime warning. I have checked that the regulator in question
      is hardcoded to a fixed-voltage GPIO regulator, and that should
      never fail to get enabled if I understand the code right.
      Acked-by: NTony Lindgren <tony@atomide.com>
      Acked-by: NAaro Koskinen <aaro.koskinen@iki.fi>
      Link: https://patchwork.kernel.org/patch/8391981/Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      595a9f9a
  7. 05 1月, 2016 1 次提交
    • L
      gpio: generic: factor into gpio_chip struct · 0f4630f3
      Linus Walleij 提交于
      The separate struct bgpio_chip has been a pain to handle, both
      by being confusingly similar in name to struct gpio_chip and
      for being contained inside a struct so that struct gpio_chip
      is contained in a struct contained in a struct, making several
      steps of dereferencing necessary.
      
      Make things simpler: include the fields directly into
      <linux/gpio/driver.h>, #ifdef:ed for CONFIG_GENERIC_GPIO, and
      get rid of the <linux/basic_mmio_gpio.h> altogether. Prefix
      some of the member variables with bgpio_* and add proper
      kerneldoc while we're at it.
      
      Modify all users to handle the change and use a struct
      gpio_chip directly. And while we're at it: replace all
      container_of() dereferencing by gpiochip_get_data() and
      registering the gpio_chip with gpiochip_add_data().
      
      Cc: arm@kernel.org
      Cc: Alexander Shiyan <shc_work@mail.ru>
      Cc: Shawn Guo <shawnguo@kernel.org>
      Cc: Sascha Hauer <kernel@pengutronix.de>
      Cc: Kukjin Kim <kgene@kernel.org>
      Cc: Alexandre Courbot <gnurou@gmail.com>
      Cc: Brian Norris <computersforpeace@gmail.com>
      Cc: Florian Fainelli <f.fainelli@gmail.com>
      Cc: Sudeep Holla <sudeep.holla@arm.com>
      Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
      Cc: Nicolas Pitre <nicolas.pitre@linaro.org>
      Cc: Olof Johansson <olof@lixom.net>
      Cc: Vladimir Zapolskiy <vladimir_zapolskiy@mentor.com>
      Cc: Rabin Vincent <rabin@rab.in>
      Cc: linux-arm-kernel@lists.infradead.org
      Cc: linux-omap@vger.kernel.org
      Cc: linux-samsung-soc@vger.kernel.org
      Cc: bcm-kernel-feedback-list@broadcom.com
      Acked-by: NGregory Fong <gregory.0xf0@gmail.com>
      Acked-by: NLiviu Dudau <Liviu.Dudau@arm.com>
      Acked-by: NH Hartley Sweeten <hsweeten@visionengravers.com>
      Acked-by: NTony Lindgren <tony@atomide.com>
      Acked-by: NKrzysztof Kozlowski <k.kozlowski@samsung.com>
      Acked-by: NLee Jones <lee.jones@linaro.org>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      0f4630f3
  8. 02 12月, 2015 1 次提交
  9. 21 5月, 2015 1 次提交
    • T
      ARM: omap1: Switch to use MULTI_IRQ · b694331c
      Tony Lindgren 提交于
      This allows us to get a bit further with SPARSE_IRQ and
      MULTIARCH support.
      
      Note that we now also rename omap_irq_flags to omap_l2_irq
      as that's the omap_irq_flags naming is confusing. It just
      contains the interrupt number for the l2 irq.
      
      Cc: Aaro Koskinen <aaro.koskinen@iki.fi>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      b694331c
  10. 04 1月, 2013 1 次提交
    • A
      ARM: OMAP1: fix USB configuration use-after-release · 07fd296d
      Aaro Koskinen 提交于
      All boards, except Amstrad E3, mark USB config with __initdata.
      
      As a result, when you compile USB into modules, they will try to refer
      already released platform data and the behaviour is undefined. For example
      on Nokia 770, I get the following kernel panic when modprobing ohci-hcd:
      
      [    3.462158] Unable to handle kernel paging request at virtual address e7fddef0
      [    3.477050] pgd = c3434000
      [    3.487365] [e7fddef0] *pgd=00000000
      [    3.498535] Internal error: Oops: 80000005 [#1] ARM
      [    3.510955] Modules linked in: ohci_hcd(+)
      [    3.522705] CPU: 0    Not tainted  (3.7.0-770_tiny+ #5)
      [    3.535552] PC is at 0xe7fddef0
      [    3.546508] LR is at ohci_omap_init+0x5c/0x144 [ohci_hcd]
      [    3.560272] pc : [<e7fddef0>]    lr : [<bf003140>]    psr: a0000013
      [    3.560272] sp : c344bdb0  ip : c344bce0  fp : c344bdcc
      [    3.589782] r10: 00000001  r9 : 00000000  r8 : 00000000
      [    3.604553] r7 : 00000026  r6 : 000000de  r5 : c0227300  r4 : c342d620
      [    3.621032] r3 : e7fddef0  r2 : c048b880  r1 : 00000000  r0 : 0000000a
      [    3.637786] Flags: NzCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment user
      [    3.655822] Control: 0005317f  Table: 13434000  DAC: 00000015
      [    3.672790] Process modprobe (pid: 425, stack limit = 0xc344a1b8)
      [    3.690643] Stack: (0xc344bdb0 to 0xc344c000)
      [    3.707031] bda0:                                     bf0030e4 c342d620 00000000 c049e62c
      [    3.727905] bdc0: c344be04 c344bdd0 c0150ff0 bf0030f4 bf001b88 00000000 c048a4ac c345b020
      [    3.748870] bde0: c342d620 00000000 c048a468 bf003968 00000001 bf006000 c344be34 c344be08
      [    3.769836] be00: bf001bf0 c0150e48 00000000 c344be18 c00b9bfc c048a478 c048a4ac bf0037f8
      [    3.790985] be20: c012ca04 c000e024 c344be44 c344be38 c012d968 bf001a84 c344be64 c344be48
      [    3.812164] be40: c012c8ac c012d95c 00000000 c048a478 c048a4ac bf0037f8 c344be84 c344be68
      [    3.833740] be60: c012ca74 c012c80c 20000013 00000000 c344be88 bf0037f8 c344beac c344be88
      [    3.855468] be80: c012b038 c012ca14 c38093cc c383ee10 bf0037f8 c35be5a0 c049d5e8 00000000
      [    3.877166] bea0: c344bebc c344beb0 c012c40c c012aff4 c344beec c344bec0 c012bfc0 c012c3fc
      [    3.898834] bec0: bf00378c 00000000 c344beec bf0037f8 00067f39 00000000 00005c44 c000e024
      [    3.920837] bee0: c344bf14 c344bef0 c012cd54 c012befc c04ce080 00067f39 00000000 00005c44
      [    3.943023] bf00: c000e024 bf006000 c344bf24 c344bf18 c012db14 c012ccc0 c344bf3c c344bf28
      [    3.965423] bf20: bf00604c c012dad8 c344a000 bf003834 c344bf7c c344bf40 c00087ac bf006010
      [    3.987976] bf40: 0000000f bf003834 00067f39 00000000 00005c44 bf003834 00067f39 00000000
      [    4.010711] bf60: 00005c44 c000e024 c344a000 00000000 c344bfa4 c344bf80 c004c35c c0008720
      [    4.033569] bf80: c344bfac c344bf90 01422192 01427ea0 00000000 00000080 00000000 c344bfa8
      [    4.056518] bfa0: c000dec0 c004c2f0 01422192 01427ea0 01427ea0 00005c44 00067f39 00000000
      [    4.079406] bfc0: 01422192 01427ea0 00000000 00000080 b6e11008 014221aa be941fcc b6e1e008
      [    4.102569] bfe0: b6ef6300 be941758 0000e93c b6ef6310 60000010 01427ea0 00000000 00000000
      [    4.125946] Backtrace:
      [    4.143463] [<bf0030e4>] (ohci_omap_init+0x0/0x144 [ohci_hcd]) from [<c0150ff0>] (usb_add_hcd+0x1b8/0x61c)
      [    4.183898]  r6:c049e62c r5:00000000 r4:c342d620 r3:bf0030e4
      [    4.205596] [<c0150e38>] (usb_add_hcd+0x0/0x61c) from [<bf001bf0>] (ohci_hcd_omap_drv_probe+0x17c/0x224 [ohci_hcd])
      [    4.248138] [<bf001a74>] (ohci_hcd_omap_drv_probe+0x0/0x224 [ohci_hcd]) from [<c012d968>] (platform_drv_probe+0x1c/0x20)
      [    4.292144]  r8:c000e024 r7:c012ca04 r6:bf0037f8 r5:c048a4ac r4:c048a478
      [    4.316192] [<c012d94c>] (platform_drv_probe+0x0/0x20) from [<c012c8ac>] (driver_probe_device+0xb0/0x208)
      [    4.360168] [<c012c7fc>] (driver_probe_device+0x0/0x208) from [<c012ca74>] (__driver_attach+0x70/0x94)
      [    4.405548]  r6:bf0037f8 r5:c048a4ac r4:c048a478 r3:00000000
      [    4.429809] [<c012ca04>] (__driver_attach+0x0/0x94) from [<c012b038>] (bus_for_each_dev+0x54/0x90)
      [    4.475708]  r6:bf0037f8 r5:c344be88 r4:00000000 r3:20000013
      [    4.500366] [<c012afe4>] (bus_for_each_dev+0x0/0x90) from [<c012c40c>] (driver_attach+0x20/0x28)
      [    4.528442]  r7:00000000 r6:c049d5e8 r5:c35be5a0 r4:bf0037f8
      [    4.553466] [<c012c3ec>] (driver_attach+0x0/0x28) from [<c012bfc0>] (bus_add_driver+0xd4/0x228)
      [    4.581878] [<c012beec>] (bus_add_driver+0x0/0x228) from [<c012cd54>] (driver_register+0xa4/0x134)
      [    4.629730]  r8:c000e024 r7:00005c44 r6:00000000 r5:00067f39 r4:bf0037f8
      [    4.656738] [<c012ccb0>] (driver_register+0x0/0x134) from [<c012db14>] (platform_driver_register+0x4c/0x60)
      [    4.706542] [<c012dac8>] (platform_driver_register+0x0/0x60) from [<bf00604c>] (ohci_hcd_mod_init+0x4c/0x8c [ohci_hcd])
      [    4.757843] [<bf006000>] (ohci_hcd_mod_init+0x0/0x8c [ohci_hcd]) from [<c00087ac>] (do_one_initcall+0x9c/0x174)
      [    4.808990]  r4:bf003834 r3:c344a000
      [    4.832641] [<c0008710>] (do_one_initcall+0x0/0x174) from [<c004c35c>] (sys_init_module+0x7c/0x194)
      [    4.881530] [<c004c2e0>] (sys_init_module+0x0/0x194) from [<c000dec0>] (ret_fast_syscall+0x0/0x2c)
      [    4.930664]  r7:00000080 r6:00000000 r5:01427ea0 r4:01422192
      [    4.956481] Code: bad PC value
      [    4.978729] ---[ end trace 58280240f08342c4 ]---
      [    5.002258] Kernel panic - not syncing: Fatal exception
      
      Fix this by taking a copy of the data. Also mark Amstrad E3's data with
      __initdata to save some memory with multi-board kernels.
      Signed-off-by: NAaro Koskinen <aaro.koskinen@iki.fi>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      07fd296d
  11. 25 12月, 2012 1 次提交
  12. 19 10月, 2012 1 次提交
  13. 05 10月, 2012 1 次提交
  14. 21 9月, 2012 2 次提交
    • T
      ARM: OMAP1: Move board-ams-delta.h from plat to mach · e27e35ec
      Tony Lindgren 提交于
      This is only used by omap1.
      
      And to fix things properly, this should not be included
      from the drivers at all.
      Acked-by: NJanusz Krzysztofik <jkrzyszt@tis.icnet.pl>
      Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
      Cc: linux-fbdev@vger.kernel.org
      Cc: Artem Bityutskiy <Artem.Bityutskiy@linux.intel.com>
      Cc: linux-mtd@lists.infradead.org
      Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
      Cc: linux-input@vger.kernel.org
      Cc: Peter Ujfalusi <peter.ujfalusi@ti.com>
      Cc: Liam Girdwood <lrg@ti.com>
      Acked-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
      Cc: alsa-devel@alsa-project.org
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      e27e35ec
    • T
      ARM: OMAP1: Make plat/mux.h omap1 only · 70c494c3
      Tony Lindgren 提交于
      We are moving omap2+ to use the device tree based pinctrl-single.c
      and will be removing the old mux framework. This will remove the
      omap1 specific parts from plat-omap.
      Acked-by: NFelipe Balbi <balbi@ti.com>
      Cc: Grant Likely <grant.likely@secretlab.ca>
      Cc: Alan Stern <stern@rowland.harvard.edu>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: Richard Purdie <rpurdie@rpsys.net>
      Cc: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
      Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
      Cc: linux-usb@vger.kernel.org
      Cc: linux-pcmcia@lists.infradead.org
      Cc: spi-devel-general@lists.sourceforge.net
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      70c494c3
  15. 19 9月, 2012 1 次提交
    • A
      ARM: omap: move platform_data definitions · 2203747c
      Arnd Bergmann 提交于
      Platform data for device drivers should be defined in
      include/linux/platform_data/*.h, not in the architecture
      and platform specific directories.
      
      This moves such data out of the omap include directories
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Acked-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
      Acked-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      Acked-by: NNicolas Pitre <nico@linaro.org>
      Acked-by: NTony Lindgren <tony@atomide.com>
      Cc: Kevin Hilman <khilman@ti.com>
      Cc: "Benoît Cousson" <b-cousson@ti.com>
      Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
      Cc: David Woodhouse <dwmw2@infradead.org>
      Cc: Kyungmin Park <kyungmin.park@samsung.com>
      Cc: Ohad Ben-Cohen <ohad@wizery.com>
      Cc: Grant Likely <grant.likely@secretlab.ca>
      Cc: Omar Ramirez Luna <omar.ramirez@ti.com>
      Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
      Cc: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
      Cc: Peter Ujfalusi <peter.ujfalusi@ti.com>
      Cc: Jarkko Nikula <jarkko.nikula@bitmer.com>
      Cc: Liam Girdwood <lrg@ti.com>
      Cc: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
      Cc: Jean Pihet <j-pihet@ti.com>
      Cc: J Keerthy <j-keerthy@ti.com>
      Cc: linux-omap@vger.kernel.org
      2203747c
  16. 13 9月, 2012 1 次提交
  17. 11 9月, 2012 1 次提交
  18. 04 6月, 2012 1 次提交
    • T
      ARM: OMAP: Make FS USB omap1 only · b924b204
      Tony Lindgren 提交于
      As the FS USB code is not being actively used for omap2+
      there's no point keeping it around for omap2+.
      
      Let's make the FS USB platform init code omap1 only so
      we can remove the last user of omap_read/write for omap2+,
      and simplify things for further USB, DMA, and device tree
      related work.
      
      While at it, also group the mach includes for the related
      drivers.
      
      Cc: linux-usb@vger.kernel.org
      Cc: Kyungmin Park <kyungmin.park@samsung.com>
      Acked-by: NFelipe Balbi <balbi@ti.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      b924b204
  19. 08 5月, 2012 1 次提交
  20. 06 3月, 2012 3 次提交
    • J
      ASoC: OMAP: ams-delta: drop .set_bias_level callback · 0379c1f5
      Janusz Krzysztofik 提交于
      This functionality has already been implemented in the cx20442 codec
      driver (commit f75a8ff6, "ASoC: cx20442:
      add bias control over a platform provided regulator"), no need to keep
      it here duplicated.
      
      Once done, remove the no longer used AMS_DELTA_LATCH2_MODEM_NRESET
      symbol from the board header file and a call to the regulator_toggle()
      helper function from the old API wrapper found in the board file.  While
      being at it, simplify the way the modem .pm callback handles the
      regulator and drop that helper function and its related consumer setup
      completely.
      
      Depends on patches 1/3 and 2/3 for clean apply and keep things working.
      Signed-off-by: NJanusz Krzysztofik <jkrzyszt@tis.icnet.pl>
      Acked-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
      Cc: Tony Lindgren <tony@atomide.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      0379c1f5
    • J
      ARM: OMAP1: ams-delta: update the modem to use regulator API · aabf3173
      Janusz Krzysztofik 提交于
      After the CX20442 codec driver already takes care of enabling the codec
      power for itself (commit f75a8ff6,
      "ASoC: cx20442: add bias control over a platform provided regulator"),
      but before dropping the old bias control method from the Amstrad Delta
      ASoC sound card file, which in fact keeps the modem power always on,
      even on the ASoC device close for now, extend the modem setup with a
      power management callback which toggles the regulator up to the modem's
      needs, reusing the previously set up regulator consumer for this. Also,
      drop the MODEM_NRESET pin setup from the modem initialization procedure,
      as this operation was already ineffective since patch 1/3, and not
      needed because the regulator is set up as initially enabled.
      
      Depends on patch 1/3 "ARM: OMAP1: ams-delta: set up regulator over modem
      reset GPIO pin" to apply cleanly.
      Signed-off-by: NJanusz Krzysztofik <jkrzyszt@tis.icnet.pl>
      Cc: Tony Lindgren <tony@atomide.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      aabf3173
    • J
      ARM: OMAP1: ams-delta: set up regulator over modem reset GPIO pin · ac2885df
      Janusz Krzysztofik 提交于
      The Amstrad Delta on-board latch2 bit named MODEM_NRESET, now available
      as a GPIO pin AMS_DELTA_GPIO_PIN_NMODEM_RESET, is used to power up/down
      (bring into/out of a reset state) two distinct on-board devices
      simultaneously: the modem, and the voice codec. As a consequence, that
      bit is, or can be, manipulated concurrently by two drivers, or their
      platform provided hooks.
      
      Instead of updating those drivers to use the gpiolib API as a new method
      of controlling the MODEM_NRESET pin state, like it was done to other
      drivers accessing latch2 pins, and still being vulnerable to potential
      concurrency conflicts, or trying to solve that sharing issue with a
      custom piece of code, set up a fixed regulator device on top of that
      GPIO pin, with the intention of updating both drivers to manipulate that
      regulator, not the GPIO pin directly.
      
      Before the ASoC driver is updated and the modem platform data expanded
      with a power management callback for switching its power, the
      ams_delta_latch_write() function, which still provides the old API for
      accessing latch2 functionality from not updated drivers, is modified to
      toggle the regulator instead of the MODEM_NRESET GPIO pin.  A helper
      function provided for balancing the regulator enable/disable operations,
      together with the consumer data needed for tracking the regulator state,
      will be removed once the drivers are updated.
      
      Depends on patch series "ARM: OMAP1: ams-delta: replace custom I/O with
      GPIO".
      Signed-off-by: NJanusz Krzysztofik <jkrzyszt@tis.icnet.pl>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      ac2885df
  21. 02 3月, 2012 2 次提交
  22. 25 2月, 2012 1 次提交
  23. 23 2月, 2012 1 次提交
    • T
      OMAP1: pass LCD config with omapfb_set_lcd_config() · ddba6c7f
      Tomi Valkeinen 提交于
      LCD config for old omapfb driver is passed with OMAP_TAG_LCD from board
      files or from the bootloader. In an effort to remove OMAP_TAG_LCD, this
      patch adds omapfb_set_lcd_config() function that the board files can
      call to set the LCD config.
      
      This has the drawback that configuration can no longer come from the
      bootloader. Of the boards supported by the kernel, this should only
      affect N770 which depends on the data from the bootloader. This patch
      adds an LCD config for N770 to its board files, but that is most
      probably broken. Fixing this would need information about the HW setup
      in N770 boards.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      Acked-by: NTony Lindgren <tony@atomide.com>
      ddba6c7f
  24. 05 1月, 2012 1 次提交
  25. 23 12月, 2011 5 次提交
  26. 22 12月, 2011 1 次提交
    • J
      ARM: OMAP1: ams-delta: register latch dependent devices later · f7519d8c
      Janusz Krzysztofik 提交于
      In preparation to converting Amstrad Delta on-board latches to
      basic_mmio_gpio devices, registration of platform devices which depend
      on latches and will require initialization of their GPIO pins first,
      should be moved out of .machine_init down to late_initcall level, as the
      gpio-generic driver is not available until device_initcall time.  The
      latch reset operation, which will be replaced with GPIO initialization,
      must also be moved to late_initcall for the same reason.
      
      Since there was already another, separate arch_initcall function for
      setting up one of those latch dependent devices, the on-board modem
      device, reuse that function, i.e., rename it to a name that matches the
      new purpose, extend with other device setup relocated from
      .machine_init, and move down to the late_initcall level.
      
      While being at it, add missing gpio_free() in case the modem platform
      device registration fails.
      
      Thanks to Tony Lindgren <tony@atomide.com> who suggested this approach
      instead of shifting up the gpio-generic driver initialization.
      
      In addition, defer registration of the Amstrad Delta ASoC and serio
      devices, done from their device driver files, until late_initcall time,
      as those drivers will depend on their GPIO pins already requested from
      the board late_init() function until updated to register their GPIO pins
      themselves.
      Signed-off-by: NJanusz Krzysztofik <jkrzyszt@tis.icnet.pl>
      Acked-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      f7519d8c
  27. 18 11月, 2011 1 次提交