1. 21 6月, 2016 2 次提交
  2. 20 6月, 2016 1 次提交
  3. 31 5月, 2016 1 次提交
  4. 19 4月, 2016 4 次提交
  5. 18 4月, 2016 5 次提交
  6. 14 4月, 2016 1 次提交
  7. 06 4月, 2016 1 次提交
  8. 29 3月, 2016 1 次提交
  9. 15 3月, 2016 1 次提交
  10. 04 3月, 2016 11 次提交
    • V
      usb: udc: lpc32xx: remove USB PLL and USB OTG clock management · 59e05272
      Vladimir Zapolskiy 提交于
      LPC32xx common clock framework driver correctly manages parent clocks
      of USB device clock, so there is no need to manually enable and
      disable them from the driver, which now depends only on a single USB
      device clock.
      Signed-off-by: NVladimir Zapolskiy <vz@mleia.com>
      Signed-off-by: NFelipe Balbi <balbi@kernel.org>
      59e05272
    • V
      usb: udc: lpc32xx: remove direct access to clock controller registers · c9083dd3
      Vladimir Zapolskiy 提交于
      Direct access to clock control registers can be safely removed, the
      task of clock management is done by platform clock driver based on
      common clock framework.
      Signed-off-by: NVladimir Zapolskiy <vz@mleia.com>
      Signed-off-by: NFelipe Balbi <balbi@kernel.org>
      c9083dd3
    • V
      usb: udc: lpc32xx: switch to clock prepare/unprepare model · 68726e77
      Vladimir Zapolskiy 提交于
      The driver requires to prepare/unprepare clocks to work properly on a
      platform with enabled common clock framework, otherwise unprepared
      clocks are not enabled:
      
          WARNING: CPU: 0 PID: 1 at drivers/clk/clk.c:728 clk_core_enable+0x2c/0xf0()
          Modules linked in:
          CPU: 0 PID: 1 Comm: swapper Not tainted 4.3.0-rc2+ #284
          Hardware name: LPC32XX SoC (Flattened Device Tree)
          Backtrace:
          [<>] (dump_backtrace) from [<>] (show_stack+0x18/0x1c)
          [<>] (show_stack) from [<>] (dump_stack+0x20/0x28)
          [<>] (dump_stack) from [<>] (warn_slowpath_common+0x90/0xb8)
          [<>] (warn_slowpath_common) from [<>] (warn_slowpath_null+0x24/0x2c)
          [<>] (warn_slowpath_null) from [<>] (clk_core_enable+0x2c/0xf0)
          [<>] (clk_core_enable) from [<>] (clk_enable+0x24/0x38)
          [<>] (clk_enable) from [<>] (lpc32xx_udc_probe+0x284/0x924)
          [<>] (lpc32xx_udc_probe) from [<>] (platform_drv_probe+0x50/0xa0)
          [<>] (platform_drv_probe) from [<>] (driver_probe_device+0x18c/0x408)
          [<>] (driver_probe_device) from [<>] (__driver_attach+0x70/0x94)
          [<>] (__driver_attach) from [<>] (bus_for_each_dev+0x74/0x98)
          [<>] (bus_for_each_dev) from [<>] (driver_attach+0x20/0x28)
          [<>] (driver_attach) from [<>] (bus_add_driver+0x11c/0x248)
          [<>] (bus_add_driver) from [<>] (driver_register+0xa4/0xe8)
          [<>] (driver_register) from [<>] (__platform_driver_register+0x50/0x64)
          [<>] (__platform_driver_register) from [<>] (__platform_driver_probe+0x54/0x100)
          [<>] (__platform_driver_probe) from [<>] (lpc32xx_udc_driver_init+0x1c/0x28)
          [<>] (lpc32xx_udc_driver_init) from [<>] (do_one_initcall+0x11c/0x1dc)
          [<>] (do_one_initcall) from [<>] (kernel_init_freeable+0x10c/0x1d4)
          [<>] (kernel_init_freeable) from [<>] (kernel_init+0x10/0xec)
          [<>] (kernel_init) from [<>] (ret_from_fork+0x14/0x24)
      Signed-off-by: NVladimir Zapolskiy <vz@mleia.com>
      Signed-off-by: NFelipe Balbi <balbi@kernel.org>
      68726e77
    • S
      usb: gadget: renesas_usb3: Use ARCH_RENESAS · dd9fee67
      Simon Horman 提交于
      Make use of ARCH_RENESAS in place of ARCH_SHMOBILE.
      
      This is part of an ongoing process to migrate from ARCH_SHMOBILE to
      ARCH_RENESAS the motivation for which being that RENESAS seems to be a more
      appropriate name than SHMOBILE for the majority of Renesas ARM based SoCs.
      Acked-by: NGeert Uytterhoeven <geert+renesas@glider.be>
      Acked-by: NYoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
      Signed-off-by: NSimon Horman <horms+renesas@verge.net.au>
      Signed-off-by: NFelipe Balbi <balbi@kernel.org>
      dd9fee67
    • A
      usb: gadget: bdc_udc: fix race condition in bdc_udc_exit() · cff5638e
      Alexey Khoroshilov 提交于
      bdc_ep_disable() expects to be called with bdc->lock held.
      The assumption is met in all the cases except for call from bdc_udc_exit(),
      that is called from bdc_remove(). As a result a race can happen or unheld
      bdc->lock can be unlocked in bdc_req_complete().
      
      The patch proposes to acquire-release bdc->lock around bdc_ep_disable()
      in bdc_udc_exit().
      
      Found by Linux Driver Verification project (linuxtesting.org).
      Signed-off-by: NAlexey Khoroshilov <khoroshilov@ispras.ru>
      Signed-off-by: NFelipe Balbi <balbi@kernel.org>
      cff5638e
    • M
      usb: gadget: provide interface for legacy gadgets to get UDC name · 175f7121
      Marek Szyprowski 提交于
      Since commit 855ed04a ("usb: gadget:
      udc-core: independent registration of gadgets and gadget drivers") gadget
      drivers can not assume that UDC drivers are already available on their
      initialization. This broke the HACK, which was used in gadgetfs driver,
      to get UDC controller name. This patch removes this hack and replaces it
      by additional function in the UDC core (which is usefully only for legacy
      drivers, please don't use it in the new code).
      Reported-by: NVegard Nossum <vegard.nossum@oracle.com>
      Signed-off-by: NMarek Szyprowski <m.szyprowski@samsung.com>
      Tested-by: NVegard Nossum <vegard.nossum@oracle.com>
      Signed-off-by: NFelipe Balbi <balbi@kernel.org>
      175f7121
    • A
      usb: gadget: pxa25x_udc: document endianess better · a9458a3b
      Arnd Bergmann 提交于
      When I wrote the cleanup patch series, it was not clear how
      exactly big-endian mode works on ixp4xx, and whether the driver
      was doing this correctly. After discussing with Krzysztof Hałasa,
      this has been clarified, so I can update the comment let pxa25x
      big-endian (which we don't support) work the same way as ixp4xx.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Signed-off-by: NFelipe Balbi <balbi@kernel.org>
      a9458a3b
    • A
      usb: fsl: drop USB_FSL_MPH_DR_OF Kconfig symbol · d0fc35bc
      Arnd Bergmann 提交于
      The USB_FSL_MPH_DR_OF symbol is used to ensure the code that interprets
      the DR device node is built whenever one of the two drivers (EHCI or
      UDC) for the platform is enabled. However, if CONFIG_USB is disabled
      and we only support gadget mode, this causes a Kconfig warning:
      
      warning: (USB_FSL_USB2) selects USB_FSL_MPH_DR_OF which has unmet direct dependencies (USB_SUPPORT && USB)
      
      We can avoid this warning by simply no longer using the symbol,
      and making sure we enter the drivers/usb/host/ directory when
      the UDC driver is enabled that needs the file, and then we use
      Makefile syntax to ensure the file is built-in if needed.
      
      There is currently a dependency on CONFIG_OF, but this is redundant,
      as we already know that this is set unconditionally for the platforms
      that use this driver.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Signed-off-by: NFelipe Balbi <balbi@kernel.org>
      d0fc35bc
    • A
      usb: gadget: pxa25x_udc: use readl/writel for mmio · 65bc0fba
      Arnd Bergmann 提交于
      This converts the pxa25x udc driver to use readl/writel as normal
      driver should do, rather than dereferencing __iomem pointers
      themselves.
      
      Based on the earlier preparation work, we can now also pass
      the register start in the device pointer so we no longer need
      the global variable.
      
      The unclear part here is for IXP4xx, which supports both big-endian
      and little-endian configurations. So far, the driver has done
      no byteswap in either case. I suspect that is wrong and it would
      actually need to swap in one or the other case, but I don't know
      which. It's also possible that there is some magic setting in
      the chip that makes the endianess of the MMIO register match the
      CPU, and in that case, the code actually does the right thing
      for all configurations, both before and after this patch.
      Acked-by: NRobert Jarzmik <robert.jarzmik@free.fr>
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Signed-off-by: NFelipe Balbi <balbi@kernel.org>
      65bc0fba
    • A
      usb: gadget: pxa25x_udc cleanup · a77af20e
      Arnd Bergmann 提交于
      This removes the dependency on the mach/hardware.h header file
      from the pxa25x_udc driver after the register definitions were
      already unified in the previous patch.
      
      Following the model of pxa27x_udc (and basically all other drivers
      in the kernel), we define the register numbers as offsets from
      the register base address and use accessor functions to read/write
      them.
      
      For the moment, this still leaves the direct pointer dereference
      in place, instead of using readl/writel, so this patch should
      not be changing the behavior of the driver, other than using
      ioremap() on the platform resource to replace the hardcoded
      virtual address pointers.
      Acked-by: NRobert Jarzmik <robert.jarzmik@free.fr>
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Signed-off-by: NFelipe Balbi <balbi@kernel.org>
      a77af20e
    • A
      usb: gadget: pxa25x_udc: move register definitions from arch · c5418a0b
      Arnd Bergmann 提交于
      ixp4xx and pxa25x both use this driver and provide a slightly
      different set of register definitions for it. Aside from that,
      the definition in the ixp4xx-regs.h header conflicts with the
      on in the pxa27x device driver when compile-testing that:
      
      In file included from ../drivers/usb/gadget/udc/pxa27x_udc.c:37:0:
      ../drivers/usb/gadget/udc/pxa27x_udc.h:26:0: warning: "UDCCR" redefined
       #define UDCCR  0x0000  /* UDC Control Register */
       ^
      In file included from ../arch/arm/mach-ixp4xx/include/mach/hardware.h:27:0,
                       from ../arch/arm/mach-ixp4xx/include/mach/io.h:18,
                       from ../arch/arm/include/asm/io.h:194,
                       from ../include/linux/io.h:25,
                       from ../include/linux/irq.h:24,
                       from ../drivers/usb/gadget/udc/pxa27x_udc.c:23:
      ../arch/arm/mach-ixp4xx/include/mach/ixp4xx-regs.h:415:0: note: this is the location of the previous definition
       #define UDCCR  IXP4XX_USB_REG(IXP4XX_USB_BASE_VIRT+0x0000)
      
      This addresses both issues by moving all the definitions into the
      pxa25x_udc driver itself. It turns out the only difference between
      them was 'UDCCS_IO_ROF', and that could well be a mistake when it
      was incorrectly copied from pxa25x to ixp4xx.
      Acked-by: NKrzysztof Halasa <khalasa@piap.pl>
      Acked-by: NRobert Jarzmik <robert.jarzmik@free.fr>
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Signed-off-by: NFelipe Balbi <balbi@kernel.org>
      c5418a0b
  11. 23 2月, 2016 2 次提交
  12. 18 2月, 2016 1 次提交
  13. 17 2月, 2016 1 次提交
  14. 16 2月, 2016 1 次提交
  15. 15 2月, 2016 4 次提交
  16. 23 1月, 2016 1 次提交
    • A
      wrappers for ->i_mutex access · 5955102c
      Al Viro 提交于
      parallel to mutex_{lock,unlock,trylock,is_locked,lock_nested},
      inode_foo(inode) being mutex_foo(&inode->i_mutex).
      
      Please, use those for access to ->i_mutex; over the coming cycle
      ->i_mutex will become rwsem, with ->lookup() done with it held
      only shared.
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      5955102c
  17. 23 12月, 2015 2 次提交