1. 09 Jan, 2020 1 commit
  2. 07 Jan, 2020 7 commits
  3. 27 Dec, 2019 2 commits
  4. 25 Dec, 2019 8 commits
  5. 18 Dec, 2019 1 commit
  6. 17 Dec, 2019 2 commits
  7. 16 Dec, 2019 12 commits
  8. 11 Dec, 2019 3 commits
  9. 09 Dec, 2019 4 commits
    • Linus Walleij's avatar
      spi: bitbang: Make chipselect callback optional · 4a07b8bc
      Linus Walleij authored
      The ->chipselect() callback on the bit-banged SPI library
      master is optional if using GPIO descriptors: when using
      descriptors exclusively without any native chipselects,
      the core does not even call out the the native ->set_cs()
      and therefore ->chipselect() on a bit-banged SPI master
      will not even be called in this case.
      
      Make sure to respect the SPI_MASTER_GPIO_SS as used by
      e.g. spi-gpio.c though: this setting will make the core
      handle the chip select using GPIO descriptors *AND* call
      the local chipselect handler.
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      Link: https://lore.kernel.org/r/20191205091340.59850-1-linus.walleij@linaro.orgSigned-off-by: default avatarMark Brown <broonie@kernel.org>
      4a07b8bc
    • Linus Walleij's avatar
      spi: stm32: Switch to use GPIO descriptors for CS · 8a6553ec
      Linus Walleij authored
      This switches the STM32 SPI driver over to using GPIO
      descriptors for chip select. Instead of the callbacks for
      picking the GPIO lines using the legacy API we just let
      the core handle it all using descriptors.
      
      Cc: Fabien Dessenne <fabien.dessenne@st.com>
      Cc: Amelie Delaunay <amelie.delaunay@st.com>
      Cc: Cezary Gapinski <cezary.gapinski@gmail.com>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      Link: https://lore.kernel.org/r/20191205083401.27077-1-linus.walleij@linaro.orgSigned-off-by: default avatarMark Brown <broonie@kernel.org>
      8a6553ec
    • zhengbin's avatar
      spi/topcliff-pch: Remove unneeded semicolon · 10e413fa
      zhengbin authored
      Fixes coccicheck warning:
      
      drivers/spi/spi-topcliff-pch.c:866:47-48: Unneeded semicolon
      drivers/spi/spi-topcliff-pch.c:881:53-54: Unneeded semicolon
      Reported-by: default avatarHulk Robot <hulkci@huawei.com>
      Signed-off-by: default avatarzhengbin <zhengbin13@huawei.com>
      Link: https://lore.kernel.org/r/1574909512-24260-1-git-send-email-zhengbin13@huawei.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
      10e413fa
    • Christophe Leroy's avatar
      spi: fsl: don't map irq during probe · 3194d253
      Christophe Leroy authored
      With lastest kernel, the following warning is observed at startup:
      
      [    1.500609] ------------[ cut here ]------------
      [    1.505225] remove_proc_entry: removing non-empty directory 'irq/22', leaking at least 'fsl_spi'
      [    1.514234] WARNING: CPU: 0 PID: 1 at fs/proc/generic.c:682 remove_proc_entry+0x198/0x1c0
      [    1.522403] CPU: 0 PID: 1 Comm: swapper Not tainted 5.4.0-s3k-dev-02248-g93532430a4ff #2564
      [    1.530724] NIP:  c0197694 LR: c0197694 CTR: c0050d80
      [    1.535762] REGS: df4a5af0 TRAP: 0700   Not tainted  (5.4.0-02248-g93532430a4ff)
      [    1.543818] MSR:  00029032 <EE,ME,IR,DR,RI>  CR: 22028222  XER: 00000000
      [    1.550524]
      [    1.550524] GPR00: c0197694 df4a5ba8 df4a0000 00000054 00000000 00000000 00004a38 00000010
      [    1.550524] GPR08: c07c5a30 00000800 00000000 00001032 22000208 00000000 c0004b14 00000000
      [    1.550524] GPR16: 00000000 00000000 00000000 00000000 00000000 00000000 c0830000 c07fc078
      [    1.550524] GPR24: c08e8ca0 df665d10 df60ea98 c07c9db8 00000001 df5d5ae3 df5d5a80 df43f8e3
      [    1.585327] NIP [c0197694] remove_proc_entry+0x198/0x1c0
      [    1.590628] LR [c0197694] remove_proc_entry+0x198/0x1c0
      [    1.595829] Call Trace:
      [    1.598280] [df4a5ba8] [c0197694] remove_proc_entry+0x198/0x1c0 (unreliable)
      [    1.605321] [df4a5bd8] [c0067acc] unregister_irq_proc+0x5c/0x70
      [    1.611238] [df4a5bf8] [c005fbc4] free_desc+0x3c/0x80
      [    1.616286] [df4a5c18] [c005fe2c] irq_free_descs+0x70/0xa8
      [    1.621778] [df4a5c38] [c033d3fc] of_fsl_spi_probe+0xdc/0x3cc
      [    1.627525] [df4a5c88] [c02f0f64] platform_drv_probe+0x44/0xa4
      [    1.633350] [df4a5c98] [c02eee44] really_probe+0x1ac/0x418
      [    1.638829] [df4a5cc8] [c02ed3e8] bus_for_each_drv+0x64/0xb0
      [    1.644481] [df4a5cf8] [c02ef950] __device_attach+0xd4/0x128
      [    1.650132] [df4a5d28] [c02ed61c] bus_probe_device+0xa0/0xbc
      [    1.655783] [df4a5d48] [c02ebbe8] device_add+0x544/0x74c
      [    1.661096] [df4a5d88] [c0382b78] of_platform_device_create_pdata+0xa4/0x100
      [    1.668131] [df4a5da8] [c0382cf4] of_platform_bus_create+0x120/0x20c
      [    1.674474] [df4a5df8] [c0382d50] of_platform_bus_create+0x17c/0x20c
      [    1.680818] [df4a5e48] [c0382e88] of_platform_bus_probe+0x9c/0xf0
      [    1.686907] [df4a5e68] [c0751404] __machine_initcall_cmpcpro_cmpcpro_declare_of_platform_devices+0x74/0x1a4
      [    1.696629] [df4a5e98] [c072a4cc] do_one_initcall+0x8c/0x1d4
      [    1.702282] [df4a5ef8] [c072a768] kernel_init_freeable+0x154/0x204
      [    1.708455] [df4a5f28] [c0004b2c] kernel_init+0x18/0x110
      [    1.713769] [df4a5f38] [c00122ac] ret_from_kernel_thread+0x14/0x1c
      [    1.719926] Instruction dump:
      [    1.722889] 2c030000 4182004c 3863ffb0 3c80c05f 80e3005c 388436a0 3c60c06d 7fa6eb78
      [    1.730630] 7fe5fb78 38840280 38634178 4be8c611 <0fe00000> 4bffff6c 3c60c071 7fe4fb78
      [    1.738556] ---[ end trace 05d0720bf2e352e2 ]---
      
      The problem comes from the error path which calls
      irq_dispose_mapping() while the IRQ has been requested with
      devm_request_irq().
      
      IRQ doesn't need to be mapped with irq_of_parse_and_map(). The only
      need is to get the IRQ virtual number. For that, use
      of_irq_to_resource() instead of the
      irq_of_parse_and_map()/irq_dispose_mapping() pair.
      
      Fixes: 500a32ab ("spi: fsl: Call irq_dispose_mapping in err path")
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarChristophe Leroy <christophe.leroy@c-s.fr>
      Link: https://lore.kernel.org/r/518cfb83347d5372748e7fe72f94e2e9443d0d4a.1575905123.git.christophe.leroy@c-s.frSigned-off-by: default avatarMark Brown <broonie@kernel.org>
      3194d253