linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/4] ARM: ep93xx: move network platform data to separate header
@ 2019-04-15 19:25 Arnd Bergmann
  2019-04-15 19:25 ` [PATCH 2/4] ARM: ep93xx: keypad: stop using mach/platform.h Arnd Bergmann
                   ` (4 more replies)
  0 siblings, 5 replies; 16+ messages in thread
From: Arnd Bergmann @ 2019-04-15 19:25 UTC (permalink / raw)
  To: Hartley Sweeten, Alexander Sverdlin
  Cc: Linus Walleij, Arnd Bergmann, David S. Miller, Jakub Kicinski,
	David Ahern, linux-arm-kernel, linux-kernel, netdev

The header file is the only thing preventing us from building the
driver in a cross-platform configuration, so move the structure
we are interested in to the global platform_data location
and enable compile testing.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 arch/arm/mach-ep93xx/include/mach/platform.h |  7 +------
 drivers/net/ethernet/cirrus/Kconfig          |  2 +-
 drivers/net/ethernet/cirrus/ep93xx_eth.c     |  2 +-
 include/linux/platform_data/eth-ep93xx.h     | 10 ++++++++++
 4 files changed, 13 insertions(+), 8 deletions(-)
 create mode 100644 include/linux/platform_data/eth-ep93xx.h

diff --git a/arch/arm/mach-ep93xx/include/mach/platform.h b/arch/arm/mach-ep93xx/include/mach/platform.h
index 6c41c794bed5..43446f33c2be 100644
--- a/arch/arm/mach-ep93xx/include/mach/platform.h
+++ b/arch/arm/mach-ep93xx/include/mach/platform.h
@@ -5,6 +5,7 @@
 
 #ifndef __ASSEMBLY__
 
+#include <linux/platform_data/eth-ep93xx.h>
 #include <linux/reboot.h>
 
 struct device;
@@ -15,12 +16,6 @@ struct ep93xxfb_mach_info;
 struct ep93xx_keypad_platform_data;
 struct ep93xx_spi_info;
 
-struct ep93xx_eth_data
-{
-	unsigned char	dev_addr[6];
-	unsigned char	phy_id;
-};
-
 void ep93xx_map_io(void);
 void ep93xx_init_irq(void);
 
diff --git a/drivers/net/ethernet/cirrus/Kconfig b/drivers/net/ethernet/cirrus/Kconfig
index e9a0213b08c4..6238e6951336 100644
--- a/drivers/net/ethernet/cirrus/Kconfig
+++ b/drivers/net/ethernet/cirrus/Kconfig
@@ -41,7 +41,7 @@ config CS89x0_PLATFORM
 
 config EP93XX_ETH
 	tristate "EP93xx Ethernet support"
-	depends on ARM && ARCH_EP93XX
+	depends on (ARM && ARCH_EP93XX) || COMPILE_TEST
 	select MII
 	help
 	  This is a driver for the ethernet hardware included in EP93xx CPUs.
diff --git a/drivers/net/ethernet/cirrus/ep93xx_eth.c b/drivers/net/ethernet/cirrus/ep93xx_eth.c
index 13dfdfca49fc..a6da9873570b 100644
--- a/drivers/net/ethernet/cirrus/ep93xx_eth.c
+++ b/drivers/net/ethernet/cirrus/ep93xx_eth.c
@@ -25,7 +25,7 @@
 #include <linux/io.h>
 #include <linux/slab.h>
 
-#include <mach/hardware.h>
+#include <linux/platform_data/eth-ep93xx.h>
 
 #define DRV_MODULE_NAME		"ep93xx-eth"
 #define DRV_MODULE_VERSION	"0.1"
diff --git a/include/linux/platform_data/eth-ep93xx.h b/include/linux/platform_data/eth-ep93xx.h
new file mode 100644
index 000000000000..8eef637a804d
--- /dev/null
+++ b/include/linux/platform_data/eth-ep93xx.h
@@ -0,0 +1,10 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+#ifndef _LINUX_PLATFORM_DATA_ETH_EP93XX
+#define _LINUX_PLATFORM_DATA_ETH_EP93XX
+
+struct ep93xx_eth_data {
+	unsigned char	dev_addr[6];
+	unsigned char	phy_id;
+};
+
+#endif
-- 
2.20.0


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH 2/4] ARM: ep93xx: keypad: stop using mach/platform.h
  2019-04-15 19:25 [PATCH 1/4] ARM: ep93xx: move network platform data to separate header Arnd Bergmann
@ 2019-04-15 19:25 ` Arnd Bergmann
  2019-04-15 19:39   ` Hartley Sweeten
  2019-04-23  3:22   ` Dmitry Torokhov
  2019-04-15 19:25 ` [PATCH 3/4] ARM: ep93xx: move pinctrl interfaces into include/linux/soc Arnd Bergmann
                   ` (3 subsequent siblings)
  4 siblings, 2 replies; 16+ messages in thread
From: Arnd Bergmann @ 2019-04-15 19:25 UTC (permalink / raw)
  To: Hartley Sweeten, Alexander Sverdlin
  Cc: Linus Walleij, Arnd Bergmann, Dmitry Torokhov, Stefan Agner,
	Enric Balletbo i Serra, Guenter Roeck, linux-input, linux-kernel

We can communicate the clock rate using platform data rather than setting
a flag to use a particular value in the driver, which is cleaner and
avoids the dependency.

No platform in the kernel currently defines the ep93xx keypad device
structure, so this is a rather pointless excercise.  Any out of tree
users are probably dead now, but if not, they have to change their
platform code to match the new platform_data structure.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 drivers/input/keyboard/Kconfig              | 2 +-
 drivers/input/keyboard/ep93xx_keypad.c      | 5 +----
 include/linux/platform_data/keypad-ep93xx.h | 4 ++--
 3 files changed, 4 insertions(+), 7 deletions(-)

diff --git a/drivers/input/keyboard/Kconfig b/drivers/input/keyboard/Kconfig
index a878351f1643..b373f3274542 100644
--- a/drivers/input/keyboard/Kconfig
+++ b/drivers/input/keyboard/Kconfig
@@ -194,7 +194,7 @@ config KEYBOARD_LKKBD
 
 config KEYBOARD_EP93XX
 	tristate "EP93xx Matrix Keypad support"
-	depends on ARCH_EP93XX
+	depends on ARCH_EP93XX || COMPILE_TEST
 	select INPUT_MATRIXKMAP
 	help
 	  Say Y here to enable the matrix keypad on the Cirrus EP93XX.
diff --git a/drivers/input/keyboard/ep93xx_keypad.c b/drivers/input/keyboard/ep93xx_keypad.c
index f77b295e0123..71472f6257c0 100644
--- a/drivers/input/keyboard/ep93xx_keypad.c
+++ b/drivers/input/keyboard/ep93xx_keypad.c
@@ -137,10 +137,7 @@ static void ep93xx_keypad_config(struct ep93xx_keypad *keypad)
 	struct ep93xx_keypad_platform_data *pdata = keypad->pdata;
 	unsigned int val = 0;
 
-	if (pdata->flags & EP93XX_KEYPAD_KDIV)
-		clk_set_rate(keypad->clk, EP93XX_KEYTCHCLK_DIV4);
-	else
-		clk_set_rate(keypad->clk, EP93XX_KEYTCHCLK_DIV16);
+	clk_set_rate(keypad->clk, pdata->clk_rate);
 
 	if (pdata->flags & EP93XX_KEYPAD_DISABLE_3_KEY)
 		val |= KEY_INIT_DIS3KY;
diff --git a/include/linux/platform_data/keypad-ep93xx.h b/include/linux/platform_data/keypad-ep93xx.h
index 0e36818e3680..3054fced8509 100644
--- a/include/linux/platform_data/keypad-ep93xx.h
+++ b/include/linux/platform_data/keypad-ep93xx.h
@@ -9,8 +9,7 @@ struct matrix_keymap_data;
 #define EP93XX_KEYPAD_DIAG_MODE		(1<<1)	/* diagnostic mode */
 #define EP93XX_KEYPAD_BACK_DRIVE	(1<<2)	/* back driving mode */
 #define EP93XX_KEYPAD_TEST_MODE		(1<<3)	/* scan only column 0 */
-#define EP93XX_KEYPAD_KDIV		(1<<4)	/* 1/4 clock or 1/16 clock */
-#define EP93XX_KEYPAD_AUTOREPEAT	(1<<5)	/* enable key autorepeat */
+#define EP93XX_KEYPAD_AUTOREPEAT	(1<<4)	/* enable key autorepeat */
 
 /**
  * struct ep93xx_keypad_platform_data - platform specific device structure
@@ -24,6 +23,7 @@ struct ep93xx_keypad_platform_data {
 	unsigned int	debounce;
 	unsigned int	prescale;
 	unsigned int	flags;
+	unsigned int	clk_rate;
 };
 
 #define EP93XX_MATRIX_ROWS		(8)
-- 
2.20.0


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH 3/4] ARM: ep93xx: move pinctrl interfaces into include/linux/soc
  2019-04-15 19:25 [PATCH 1/4] ARM: ep93xx: move network platform data to separate header Arnd Bergmann
  2019-04-15 19:25 ` [PATCH 2/4] ARM: ep93xx: keypad: stop using mach/platform.h Arnd Bergmann
@ 2019-04-15 19:25 ` Arnd Bergmann
  2019-04-15 19:41   ` Alexander Sverdlin
  2019-04-23 10:41   ` Linus Walleij
  2019-04-15 19:31 ` [PATCH 1/4] ARM: ep93xx: move network platform data to separate header Alexander Sverdlin
                   ` (2 subsequent siblings)
  4 siblings, 2 replies; 16+ messages in thread
From: Arnd Bergmann @ 2019-04-15 19:25 UTC (permalink / raw)
  To: Hartley Sweeten, Alexander Sverdlin
  Cc: Linus Walleij, Arnd Bergmann, Bartlomiej Zolnierkiewicz,
	Jens Axboe, Dmitry Torokhov, Thierry Reding, Mark Brown,
	Olof Johansson, linux-arm-kernel, linux-kernel, linux-ide,
	linux-input, linux-pwm, alsa-devel

ep93xx does not have a proper pinctrl driver, but does things
ad-hoc through mach/platform.h, which is also used for setting
up the boards.

To avoid using mach/*.h headers completely, let's move the interfaces
into include/linux/soc/. This is far from great, but gets the job
done here, without the need for a proper pinctrl driver.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 arch/arm/mach-ep93xx/clock.c                 |  1 +
 arch/arm/mach-ep93xx/core.c                  |  2 ++
 arch/arm/mach-ep93xx/include/mach/platform.h | 16 ---------
 drivers/ata/pata_ep93xx.c                    |  2 +-
 drivers/input/keyboard/ep93xx_keypad.c       |  3 +-
 drivers/pwm/pwm-ep93xx.c                     |  2 +-
 include/linux/soc/cirrus/ep93xx.h            | 37 ++++++++++++++++++++
 sound/soc/cirrus/edb93xx.c                   |  2 +-
 sound/soc/cirrus/ep93xx-ac97.c               |  1 +
 sound/soc/cirrus/ep93xx-i2s.c                |  3 +-
 sound/soc/cirrus/simone.c                    |  2 +-
 sound/soc/cirrus/snappercl15.c               |  2 +-
 12 files changed, 48 insertions(+), 25 deletions(-)
 create mode 100644 include/linux/soc/cirrus/ep93xx.h

diff --git a/arch/arm/mach-ep93xx/clock.c b/arch/arm/mach-ep93xx/clock.c
index d2eee707d27f..9f43362eb62d 100644
--- a/arch/arm/mach-ep93xx/clock.c
+++ b/arch/arm/mach-ep93xx/clock.c
@@ -20,6 +20,7 @@
 #include <linux/io.h>
 #include <linux/spinlock.h>
 #include <linux/clkdev.h>
+#include <linux/soc/cirrus/ep93xx.h>
 
 #include <mach/hardware.h>
 
diff --git a/arch/arm/mach-ep93xx/core.c b/arch/arm/mach-ep93xx/core.c
index 706515faee06..3d245668846d 100644
--- a/arch/arm/mach-ep93xx/core.c
+++ b/arch/arm/mach-ep93xx/core.c
@@ -43,6 +43,8 @@
 #include <linux/platform_data/video-ep93xx.h>
 #include <linux/platform_data/keypad-ep93xx.h>
 #include <linux/platform_data/spi-ep93xx.h>
+#include <linux/soc/cirrus/ep93xx.h>
+
 #include <mach/gpio-ep93xx.h>
 
 #include <asm/mach/arch.h>
diff --git a/arch/arm/mach-ep93xx/include/mach/platform.h b/arch/arm/mach-ep93xx/include/mach/platform.h
index 43446f33c2be..b4045a186239 100644
--- a/arch/arm/mach-ep93xx/include/mach/platform.h
+++ b/arch/arm/mach-ep93xx/include/mach/platform.h
@@ -19,14 +19,6 @@ struct ep93xx_spi_info;
 void ep93xx_map_io(void);
 void ep93xx_init_irq(void);
 
-#define EP93XX_CHIP_REV_D0	3
-#define EP93XX_CHIP_REV_D1	4
-#define EP93XX_CHIP_REV_E0	5
-#define EP93XX_CHIP_REV_E1	6
-#define EP93XX_CHIP_REV_E2	7
-
-unsigned int ep93xx_chip_revision(void);
-
 void ep93xx_register_flash(unsigned int width,
 			   resource_size_t start, resource_size_t size);
 
@@ -36,19 +28,11 @@ void ep93xx_register_spi(struct ep93xx_spi_info *info,
 			 struct spi_board_info *devices, int num);
 void ep93xx_register_fb(struct ep93xxfb_mach_info *data);
 void ep93xx_register_pwm(int pwm0, int pwm1);
-int ep93xx_pwm_acquire_gpio(struct platform_device *pdev);
-void ep93xx_pwm_release_gpio(struct platform_device *pdev);
 void ep93xx_register_keypad(struct ep93xx_keypad_platform_data *data);
-int ep93xx_keypad_acquire_gpio(struct platform_device *pdev);
-void ep93xx_keypad_release_gpio(struct platform_device *pdev);
 void ep93xx_register_i2s(void);
-int ep93xx_i2s_acquire(void);
-void ep93xx_i2s_release(void);
 void ep93xx_register_ac97(void);
 void ep93xx_register_ide(void);
 void ep93xx_register_adc(void);
-int ep93xx_ide_acquire_gpio(struct platform_device *pdev);
-void ep93xx_ide_release_gpio(struct platform_device *pdev);
 
 struct device *ep93xx_init_devices(void);
 extern void ep93xx_timer_init(void);
diff --git a/drivers/ata/pata_ep93xx.c b/drivers/ata/pata_ep93xx.c
index cc6d06c1b2c7..db271b705529 100644
--- a/drivers/ata/pata_ep93xx.c
+++ b/drivers/ata/pata_ep93xx.c
@@ -44,7 +44,7 @@
 #include <linux/ktime.h>
 
 #include <linux/platform_data/dma-ep93xx.h>
-#include <mach/platform.h>
+#include <linux/soc/cirrus/ep93xx.h>
 
 #define DRV_NAME	"ep93xx-ide"
 #define DRV_VERSION	"1.0"
diff --git a/drivers/input/keyboard/ep93xx_keypad.c b/drivers/input/keyboard/ep93xx_keypad.c
index 71472f6257c0..575dac52f7b4 100644
--- a/drivers/input/keyboard/ep93xx_keypad.c
+++ b/drivers/input/keyboard/ep93xx_keypad.c
@@ -27,8 +27,7 @@
 #include <linux/io.h>
 #include <linux/input/matrix_keypad.h>
 #include <linux/slab.h>
-
-#include <mach/hardware.h>
+#include <linux/soc/cirrus/ep93xx.h>
 #include <linux/platform_data/keypad-ep93xx.h>
 
 /*
diff --git a/drivers/pwm/pwm-ep93xx.c b/drivers/pwm/pwm-ep93xx.c
index bbf10ae02f0e..fa168581e6b8 100644
--- a/drivers/pwm/pwm-ep93xx.c
+++ b/drivers/pwm/pwm-ep93xx.c
@@ -35,7 +35,7 @@
 
 #include <asm/div64.h>
 
-#include <mach/platform.h>	/* for ep93xx_pwm_{acquire,release}_gpio() */
+#include <linux/soc/cirrus/ep93xx.h>	/* for ep93xx_pwm_{acquire,release}_gpio() */
 
 #define EP93XX_PWMx_TERM_COUNT	0x00
 #define EP93XX_PWMx_DUTY_CYCLE	0x04
diff --git a/include/linux/soc/cirrus/ep93xx.h b/include/linux/soc/cirrus/ep93xx.h
new file mode 100644
index 000000000000..56fbe2dc59b1
--- /dev/null
+++ b/include/linux/soc/cirrus/ep93xx.h
@@ -0,0 +1,37 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+#ifndef _SOC_EP93XX_H
+#define _SOC_EP93XX_H
+
+struct platform_device;
+
+#define EP93XX_CHIP_REV_D0	3
+#define EP93XX_CHIP_REV_D1	4
+#define EP93XX_CHIP_REV_E0	5
+#define EP93XX_CHIP_REV_E1	6
+#define EP93XX_CHIP_REV_E2	7
+
+#ifdef CONFIG_ARCH_EP93XX
+int ep93xx_pwm_acquire_gpio(struct platform_device *pdev);
+void ep93xx_pwm_release_gpio(struct platform_device *pdev);
+int ep93xx_ide_acquire_gpio(struct platform_device *pdev);
+void ep93xx_ide_release_gpio(struct platform_device *pdev);
+int ep93xx_keypad_acquire_gpio(struct platform_device *pdev);
+void ep93xx_keypad_release_gpio(struct platform_device *pdev);
+int ep93xx_i2s_acquire(void);
+void ep93xx_i2s_release(void);
+unsigned int ep93xx_chip_revision(void);
+
+#else
+static inline int ep93xx_pwm_acquire_gpio(struct platform_device *pdev) { return 0; }
+static inline void ep93xx_pwm_release_gpio(struct platform_device *pdev) {}
+static inline int ep93xx_ide_acquire_gpio(struct platform_device *pdev) { return 0; }
+static inline void ep93xx_ide_release_gpio(struct platform_device *pdev) {}
+static inline int ep93xx_keypad_acquire_gpio(struct platform_device *pdev) { return 0; }
+static inline void ep93xx_keypad_release_gpio(struct platform_device *pdev) {}
+static inline int ep93xx_i2s_acquire(void) { return 0; }
+static inline void ep93xx_i2s_release(void) {}
+static inline unsigned int ep93xx_chip_revision(void) { return 0; }
+
+#endif
+
+#endif
diff --git a/sound/soc/cirrus/edb93xx.c b/sound/soc/cirrus/edb93xx.c
index 3d011abaa266..f678b4c1514a 100644
--- a/sound/soc/cirrus/edb93xx.c
+++ b/sound/soc/cirrus/edb93xx.c
@@ -22,11 +22,11 @@
 #include <linux/platform_device.h>
 #include <linux/gpio.h>
 #include <linux/module.h>
+#include <linux/soc/cirrus/ep93xx.h>
 #include <sound/core.h>
 #include <sound/pcm.h>
 #include <sound/soc.h>
 #include <asm/mach-types.h>
-#include <mach/hardware.h>
 
 static int edb93xx_hw_params(struct snd_pcm_substream *substream,
 			     struct snd_pcm_hw_params *params)
diff --git a/sound/soc/cirrus/ep93xx-ac97.c b/sound/soc/cirrus/ep93xx-ac97.c
index cd5a939ad608..c6bc447429af 100644
--- a/sound/soc/cirrus/ep93xx-ac97.c
+++ b/sound/soc/cirrus/ep93xx-ac97.c
@@ -24,6 +24,7 @@
 #include <sound/soc.h>
 
 #include <linux/platform_data/dma-ep93xx.h>
+#include <linux/soc/cirrus/ep93xx.h>
 
 #include "ep93xx-pcm.h"
 
diff --git a/sound/soc/cirrus/ep93xx-i2s.c b/sound/soc/cirrus/ep93xx-i2s.c
index 0918c5da575a..beab7c516855 100644
--- a/sound/soc/cirrus/ep93xx-i2s.c
+++ b/sound/soc/cirrus/ep93xx-i2s.c
@@ -27,9 +27,8 @@
 #include <sound/initval.h>
 #include <sound/soc.h>
 
-#include <mach/hardware.h>
-#include <mach/ep93xx-regs.h>
 #include <linux/platform_data/dma-ep93xx.h>
+#include <linux/soc/cirrus/ep93xx.h>
 
 #include "ep93xx-pcm.h"
 
diff --git a/sound/soc/cirrus/simone.c b/sound/soc/cirrus/simone.c
index 1ec661834e5a..cb850530331b 100644
--- a/sound/soc/cirrus/simone.c
+++ b/sound/soc/cirrus/simone.c
@@ -13,13 +13,13 @@
 #include <linux/init.h>
 #include <linux/module.h>
 #include <linux/platform_device.h>
+#include <linux/soc/cirrus/ep93xx.h>
 
 #include <sound/core.h>
 #include <sound/pcm.h>
 #include <sound/soc.h>
 
 #include <asm/mach-types.h>
-#include <mach/hardware.h>
 
 static struct snd_soc_dai_link simone_dai = {
 	.name		= "AC97",
diff --git a/sound/soc/cirrus/snappercl15.c b/sound/soc/cirrus/snappercl15.c
index 11ff7b2672b2..dea4909154c8 100644
--- a/sound/soc/cirrus/snappercl15.c
+++ b/sound/soc/cirrus/snappercl15.c
@@ -13,12 +13,12 @@
 
 #include <linux/platform_device.h>
 #include <linux/module.h>
+#include <linux/soc/cirrus/ep93xx.h>
 #include <sound/core.h>
 #include <sound/pcm.h>
 #include <sound/soc.h>
 
 #include <asm/mach-types.h>
-#include <mach/hardware.h>
 
 #include "../codecs/tlv320aic23.h"
 
-- 
2.20.0


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* Re: [PATCH 1/4] ARM: ep93xx: move network platform data to separate header
  2019-04-15 19:25 [PATCH 1/4] ARM: ep93xx: move network platform data to separate header Arnd Bergmann
  2019-04-15 19:25 ` [PATCH 2/4] ARM: ep93xx: keypad: stop using mach/platform.h Arnd Bergmann
  2019-04-15 19:25 ` [PATCH 3/4] ARM: ep93xx: move pinctrl interfaces into include/linux/soc Arnd Bergmann
@ 2019-04-15 19:31 ` Alexander Sverdlin
  2019-04-15 19:31 ` [PATCH 4/4] ARM: ep93xx: move private headers out of mach/* Arnd Bergmann
  2019-04-23 10:39 ` [PATCH 1/4] ARM: ep93xx: move network platform data to separate header Linus Walleij
  4 siblings, 0 replies; 16+ messages in thread
From: Alexander Sverdlin @ 2019-04-15 19:31 UTC (permalink / raw)
  To: Arnd Bergmann, Hartley Sweeten
  Cc: Linus Walleij, David S. Miller, Jakub Kicinski, David Ahern,
	linux-arm-kernel, linux-kernel, netdev

Hi Arnd,

On 15/04/2019 21:25, Arnd Bergmann wrote:
> The header file is the only thing preventing us from building the
> driver in a cross-platform configuration, so move the structure
> we are interested in to the global platform_data location
> and enable compile testing.

Acked-by: Alexander Sverdlin <alexander.sverdlin@gmail.com>

> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> ---
>  arch/arm/mach-ep93xx/include/mach/platform.h |  7 +------
>  drivers/net/ethernet/cirrus/Kconfig          |  2 +-
>  drivers/net/ethernet/cirrus/ep93xx_eth.c     |  2 +-
>  include/linux/platform_data/eth-ep93xx.h     | 10 ++++++++++
>  4 files changed, 13 insertions(+), 8 deletions(-)
>  create mode 100644 include/linux/platform_data/eth-ep93xx.h
> 
> diff --git a/arch/arm/mach-ep93xx/include/mach/platform.h b/arch/arm/mach-ep93xx/include/mach/platform.h
> index 6c41c794bed5..43446f33c2be 100644
> --- a/arch/arm/mach-ep93xx/include/mach/platform.h
> +++ b/arch/arm/mach-ep93xx/include/mach/platform.h
> @@ -5,6 +5,7 @@
>  
>  #ifndef __ASSEMBLY__
>  
> +#include <linux/platform_data/eth-ep93xx.h>
>  #include <linux/reboot.h>
>  
>  struct device;
> @@ -15,12 +16,6 @@ struct ep93xxfb_mach_info;
>  struct ep93xx_keypad_platform_data;
>  struct ep93xx_spi_info;
>  
> -struct ep93xx_eth_data
> -{
> -	unsigned char	dev_addr[6];
> -	unsigned char	phy_id;
> -};
> -
>  void ep93xx_map_io(void);
>  void ep93xx_init_irq(void);
>  
> diff --git a/drivers/net/ethernet/cirrus/Kconfig b/drivers/net/ethernet/cirrus/Kconfig
> index e9a0213b08c4..6238e6951336 100644
> --- a/drivers/net/ethernet/cirrus/Kconfig
> +++ b/drivers/net/ethernet/cirrus/Kconfig
> @@ -41,7 +41,7 @@ config CS89x0_PLATFORM
>  
>  config EP93XX_ETH
>  	tristate "EP93xx Ethernet support"
> -	depends on ARM && ARCH_EP93XX
> +	depends on (ARM && ARCH_EP93XX) || COMPILE_TEST
>  	select MII
>  	help
>  	  This is a driver for the ethernet hardware included in EP93xx CPUs.
> diff --git a/drivers/net/ethernet/cirrus/ep93xx_eth.c b/drivers/net/ethernet/cirrus/ep93xx_eth.c
> index 13dfdfca49fc..a6da9873570b 100644
> --- a/drivers/net/ethernet/cirrus/ep93xx_eth.c
> +++ b/drivers/net/ethernet/cirrus/ep93xx_eth.c
> @@ -25,7 +25,7 @@
>  #include <linux/io.h>
>  #include <linux/slab.h>
>  
> -#include <mach/hardware.h>
> +#include <linux/platform_data/eth-ep93xx.h>
>  
>  #define DRV_MODULE_NAME		"ep93xx-eth"
>  #define DRV_MODULE_VERSION	"0.1"
> diff --git a/include/linux/platform_data/eth-ep93xx.h b/include/linux/platform_data/eth-ep93xx.h
> new file mode 100644
> index 000000000000..8eef637a804d
> --- /dev/null
> +++ b/include/linux/platform_data/eth-ep93xx.h
> @@ -0,0 +1,10 @@
> +/* SPDX-License-Identifier: GPL-2.0 */
> +#ifndef _LINUX_PLATFORM_DATA_ETH_EP93XX
> +#define _LINUX_PLATFORM_DATA_ETH_EP93XX
> +
> +struct ep93xx_eth_data {
> +	unsigned char	dev_addr[6];
> +	unsigned char	phy_id;
> +};
> +
> +#endif
> 

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [PATCH 4/4] ARM: ep93xx: move private headers out of mach/*
  2019-04-15 19:25 [PATCH 1/4] ARM: ep93xx: move network platform data to separate header Arnd Bergmann
                   ` (2 preceding siblings ...)
  2019-04-15 19:31 ` [PATCH 1/4] ARM: ep93xx: move network platform data to separate header Alexander Sverdlin
@ 2019-04-15 19:31 ` Arnd Bergmann
  2019-04-15 19:44   ` Alexander Sverdlin
  2019-04-16  6:03   ` Lukasz Majewski
  2019-04-23 10:39 ` [PATCH 1/4] ARM: ep93xx: move network platform data to separate header Linus Walleij
  4 siblings, 2 replies; 16+ messages in thread
From: Arnd Bergmann @ 2019-04-15 19:31 UTC (permalink / raw)
  To: Hartley Sweeten, Alexander Sverdlin
  Cc: Linus Walleij, Arnd Bergmann, Lukasz Majewski, Olof Johansson,
	Mark Brown, Ulf Hansson, Laurent Pinchart, Miquel Raynal,
	Boris Brezillon, linux-arm-kernel, linux-kernel

gpio-ep93xx.h, hardware.h, and platform.h are only used in
arch/arm/mach-ep93xx, so we can move them one there and no
longer expose them to device drivers.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 arch/arm/mach-ep93xx/adssphere.c                      | 2 +-
 arch/arm/mach-ep93xx/clock.c                          | 2 +-
 arch/arm/mach-ep93xx/core.c                           | 6 +++---
 arch/arm/mach-ep93xx/dma.c                            | 2 +-
 arch/arm/mach-ep93xx/edb93xx.c                        | 4 ++--
 arch/arm/mach-ep93xx/gesbc9312.c                      | 2 +-
 arch/arm/mach-ep93xx/{include/mach => }/gpio-ep93xx.h | 0
 arch/arm/mach-ep93xx/{include/mach => }/hardware.h    | 2 +-
 arch/arm/mach-ep93xx/micro9.c                         | 2 +-
 arch/arm/mach-ep93xx/{include/mach => }/platform.h    | 0
 arch/arm/mach-ep93xx/simone.c                         | 4 ++--
 arch/arm/mach-ep93xx/snappercl15.c                    | 4 ++--
 arch/arm/mach-ep93xx/ts72xx.c                         | 4 ++--
 arch/arm/mach-ep93xx/vision_ep9307.c                  | 4 ++--
 14 files changed, 19 insertions(+), 19 deletions(-)
 rename arch/arm/mach-ep93xx/{include/mach => }/gpio-ep93xx.h (100%)
 rename arch/arm/mach-ep93xx/{include/mach => }/hardware.h (96%)
 rename arch/arm/mach-ep93xx/{include/mach => }/platform.h (100%)

diff --git a/arch/arm/mach-ep93xx/adssphere.c b/arch/arm/mach-ep93xx/adssphere.c
index bda6c3a5c923..5d3a3e302012 100644
--- a/arch/arm/mach-ep93xx/adssphere.c
+++ b/arch/arm/mach-ep93xx/adssphere.c
@@ -15,7 +15,7 @@
 #include <linux/platform_device.h>
 #include <linux/sizes.h>
 
-#include <mach/hardware.h>
+#include "hardware.h"
 
 #include <asm/mach-types.h>
 #include <asm/mach/arch.h>
diff --git a/arch/arm/mach-ep93xx/clock.c b/arch/arm/mach-ep93xx/clock.c
index 9f43362eb62d..b9f523d9dc8c 100644
--- a/arch/arm/mach-ep93xx/clock.c
+++ b/arch/arm/mach-ep93xx/clock.c
@@ -22,7 +22,7 @@
 #include <linux/clkdev.h>
 #include <linux/soc/cirrus/ep93xx.h>
 
-#include <mach/hardware.h>
+#include "hardware.h"
 
 #include <asm/div64.h>
 
diff --git a/arch/arm/mach-ep93xx/core.c b/arch/arm/mach-ep93xx/core.c
index 3d245668846d..cc1382f879af 100644
--- a/arch/arm/mach-ep93xx/core.c
+++ b/arch/arm/mach-ep93xx/core.c
@@ -39,13 +39,13 @@
 #include <linux/usb/ohci_pdriver.h>
 #include <linux/random.h>
 
-#include <mach/hardware.h>
+#include "hardware.h"
 #include <linux/platform_data/video-ep93xx.h>
 #include <linux/platform_data/keypad-ep93xx.h>
 #include <linux/platform_data/spi-ep93xx.h>
 #include <linux/soc/cirrus/ep93xx.h>
 
-#include <mach/gpio-ep93xx.h>
+#include "gpio-ep93xx.h"
 
 #include <asm/mach/arch.h>
 #include <asm/mach/map.h>
@@ -125,7 +125,7 @@ void ep93xx_devcfg_set_clear(unsigned int set_bits, unsigned int clear_bits)
 /**
  * ep93xx_chip_revision() - returns the EP93xx chip revision
  *
- * See <mach/platform.h> for more information.
+ * See "platform.h" for more information.
  */
 unsigned int ep93xx_chip_revision(void)
 {
diff --git a/arch/arm/mach-ep93xx/dma.c b/arch/arm/mach-ep93xx/dma.c
index 88a4c9b089a5..821427107b11 100644
--- a/arch/arm/mach-ep93xx/dma.c
+++ b/arch/arm/mach-ep93xx/dma.c
@@ -26,7 +26,7 @@
 #include <linux/platform_device.h>
 
 #include <linux/platform_data/dma-ep93xx.h>
-#include <mach/hardware.h>
+#include "hardware.h"
 
 #include "soc.h"
 
diff --git a/arch/arm/mach-ep93xx/edb93xx.c b/arch/arm/mach-ep93xx/edb93xx.c
index 8e89ec8b6f0f..d96dd014dd23 100644
--- a/arch/arm/mach-ep93xx/edb93xx.c
+++ b/arch/arm/mach-ep93xx/edb93xx.c
@@ -32,10 +32,10 @@
 
 #include <sound/cs4271.h>
 
-#include <mach/hardware.h>
+#include "hardware.h"
 #include <linux/platform_data/video-ep93xx.h>
 #include <linux/platform_data/spi-ep93xx.h>
-#include <mach/gpio-ep93xx.h>
+#include "gpio-ep93xx.h"
 
 #include <asm/mach-types.h>
 #include <asm/mach/arch.h>
diff --git a/arch/arm/mach-ep93xx/gesbc9312.c b/arch/arm/mach-ep93xx/gesbc9312.c
index 0cca5b183309..ac48e3476587 100644
--- a/arch/arm/mach-ep93xx/gesbc9312.c
+++ b/arch/arm/mach-ep93xx/gesbc9312.c
@@ -15,7 +15,7 @@
 #include <linux/platform_device.h>
 #include <linux/sizes.h>
 
-#include <mach/hardware.h>
+#include "hardware.h"
 
 #include <asm/mach-types.h>
 #include <asm/mach/arch.h>
diff --git a/arch/arm/mach-ep93xx/include/mach/gpio-ep93xx.h b/arch/arm/mach-ep93xx/gpio-ep93xx.h
similarity index 100%
rename from arch/arm/mach-ep93xx/include/mach/gpio-ep93xx.h
rename to arch/arm/mach-ep93xx/gpio-ep93xx.h
diff --git a/arch/arm/mach-ep93xx/include/mach/hardware.h b/arch/arm/mach-ep93xx/hardware.h
similarity index 96%
rename from arch/arm/mach-ep93xx/include/mach/hardware.h
rename to arch/arm/mach-ep93xx/hardware.h
index 8938906e780a..e7d850e04782 100644
--- a/arch/arm/mach-ep93xx/include/mach/hardware.h
+++ b/arch/arm/mach-ep93xx/hardware.h
@@ -6,7 +6,7 @@
 #ifndef __ASM_ARCH_HARDWARE_H
 #define __ASM_ARCH_HARDWARE_H
 
-#include <mach/platform.h>
+#include "platform.h"
 
 /*
  * The EP93xx has two external crystal oscillators.  To generate the
diff --git a/arch/arm/mach-ep93xx/micro9.c b/arch/arm/mach-ep93xx/micro9.c
index 373583c29825..c7f64e4ff6c7 100644
--- a/arch/arm/mach-ep93xx/micro9.c
+++ b/arch/arm/mach-ep93xx/micro9.c
@@ -16,7 +16,7 @@
 #include <linux/platform_device.h>
 #include <linux/io.h>
 
-#include <mach/hardware.h>
+#include "hardware.h"
 
 #include <asm/mach-types.h>
 #include <asm/mach/arch.h>
diff --git a/arch/arm/mach-ep93xx/include/mach/platform.h b/arch/arm/mach-ep93xx/platform.h
similarity index 100%
rename from arch/arm/mach-ep93xx/include/mach/platform.h
rename to arch/arm/mach-ep93xx/platform.h
diff --git a/arch/arm/mach-ep93xx/simone.c b/arch/arm/mach-ep93xx/simone.c
index 80ccb984d521..adc17289cc23 100644
--- a/arch/arm/mach-ep93xx/simone.c
+++ b/arch/arm/mach-ep93xx/simone.c
@@ -27,8 +27,8 @@
 #include <linux/gpio.h>
 #include <linux/gpio/machine.h>
 
-#include <mach/hardware.h>
-#include <mach/gpio-ep93xx.h>
+#include "hardware.h"
+#include "gpio-ep93xx.h"
 
 #include <asm/mach-types.h>
 #include <asm/mach/arch.h>
diff --git a/arch/arm/mach-ep93xx/snappercl15.c b/arch/arm/mach-ep93xx/snappercl15.c
index cf0cb58b3454..f8f89551dbed 100644
--- a/arch/arm/mach-ep93xx/snappercl15.c
+++ b/arch/arm/mach-ep93xx/snappercl15.c
@@ -25,9 +25,9 @@
 
 #include <linux/mtd/platnand.h>
 
-#include <mach/hardware.h>
+#include "hardware.h"
 #include <linux/platform_data/video-ep93xx.h>
-#include <mach/gpio-ep93xx.h>
+#include "gpio-ep93xx.h"
 
 #include <asm/mach-types.h>
 #include <asm/mach/arch.h>
diff --git a/arch/arm/mach-ep93xx/ts72xx.c b/arch/arm/mach-ep93xx/ts72xx.c
index 85b74ac943f0..bba6aa5d7106 100644
--- a/arch/arm/mach-ep93xx/ts72xx.c
+++ b/arch/arm/mach-ep93xx/ts72xx.c
@@ -23,8 +23,8 @@
 #include <linux/mmc/host.h>
 #include <linux/platform_data/spi-ep93xx.h>
 
-#include <mach/gpio-ep93xx.h>
-#include <mach/hardware.h>
+#include "gpio-ep93xx.h"
+#include "hardware.h"
 #include <mach/irqs.h>
 
 #include <asm/mach-types.h>
diff --git a/arch/arm/mach-ep93xx/vision_ep9307.c b/arch/arm/mach-ep93xx/vision_ep9307.c
index 767ee64628dc..66e2b34aa779 100644
--- a/arch/arm/mach-ep93xx/vision_ep9307.c
+++ b/arch/arm/mach-ep93xx/vision_ep9307.c
@@ -31,10 +31,10 @@
 
 #include <sound/cs4271.h>
 
-#include <mach/hardware.h>
+#include "hardware.h"
 #include <linux/platform_data/video-ep93xx.h>
 #include <linux/platform_data/spi-ep93xx.h>
-#include <mach/gpio-ep93xx.h>
+#include "gpio-ep93xx.h"
 
 #include <asm/mach-types.h>
 #include <asm/mach/map.h>
-- 
2.20.0


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* RE: [PATCH 2/4] ARM: ep93xx: keypad: stop using mach/platform.h
  2019-04-15 19:25 ` [PATCH 2/4] ARM: ep93xx: keypad: stop using mach/platform.h Arnd Bergmann
@ 2019-04-15 19:39   ` Hartley Sweeten
  2019-04-15 19:47     ` Arnd Bergmann
  2019-04-23  3:22   ` Dmitry Torokhov
  1 sibling, 1 reply; 16+ messages in thread
From: Hartley Sweeten @ 2019-04-15 19:39 UTC (permalink / raw)
  To: Arnd Bergmann, Alexander Sverdlin
  Cc: Linus Walleij, Dmitry Torokhov, Stefan Agner,
	Enric Balletbo i Serra, Guenter Roeck, linux-input, linux-kernel

On Monday, April 15, 2019 12:25 PM, Arnd Bergmann wrote:
> We can communicate the clock rate using platform data rather than setting a
> flag to use a particular value in the driver, which is cleaner and avoids the dependency.
>
> No platform in the kernel currently defines the ep93xx keypad device structure, so this
> is a rather pointless excercise.  Any out of tree users are probably dead now, but if not,
>  they have to change their platform code to match the new platform_data structure.

<snip>

> diff --git a/include/linux/platform_data/keypad-ep93xx.h b/include/linux/platform_data/keypad-ep93xx.h
> index 0e36818e3680..3054fced8509 100644
> --- a/include/linux/platform_data/keypad-ep93xx.h
> +++ b/include/linux/platform_data/keypad-ep93xx.h
> @@ -9,8 +9,7 @@ struct matrix_keymap_data;
>  #define EP93XX_KEYPAD_DIAG_MODE		(1<<1)	/* diagnostic mode */
>  #define EP93XX_KEYPAD_BACK_DRIVE	(1<<2)	/* back driving mode */
>  #define EP93XX_KEYPAD_TEST_MODE		(1<<3)	/* scan only column 0 */
> -#define EP93XX_KEYPAD_KDIV		(1<<4)	/* 1/4 clock or 1/16 clock */
> -#define EP93XX_KEYPAD_AUTOREPEAT	(1<<5)	/* enable key autorepeat */
> +#define EP93XX_KEYPAD_AUTOREPEAT	(1<<4)	/* enable key autorepeat */

You have re-defined the keypad register bits here.

The KDIV bit changes the clock rate. The AUTOREPEAT bit enables key autorepeat.

Hartley


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH 3/4] ARM: ep93xx: move pinctrl interfaces into include/linux/soc
  2019-04-15 19:25 ` [PATCH 3/4] ARM: ep93xx: move pinctrl interfaces into include/linux/soc Arnd Bergmann
@ 2019-04-15 19:41   ` Alexander Sverdlin
  2019-04-23 10:41   ` Linus Walleij
  1 sibling, 0 replies; 16+ messages in thread
From: Alexander Sverdlin @ 2019-04-15 19:41 UTC (permalink / raw)
  To: Arnd Bergmann, Hartley Sweeten
  Cc: Linus Walleij, Bartlomiej Zolnierkiewicz, Jens Axboe,
	Dmitry Torokhov, Thierry Reding, Mark Brown, Olof Johansson,
	linux-arm-kernel, linux-kernel, linux-ide, linux-input,
	linux-pwm, alsa-devel

On 15/04/2019 21:25, Arnd Bergmann wrote:
> ep93xx does not have a proper pinctrl driver, but does things
> ad-hoc through mach/platform.h, which is also used for setting
> up the boards.
> 
> To avoid using mach/*.h headers completely, let's move the interfaces
> into include/linux/soc/. This is far from great, but gets the job
> done here, without the need for a proper pinctrl driver.

Acked-by: Alexander Sverdlin <alexander.sverdlin@gmail.com>

> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> ---
>  arch/arm/mach-ep93xx/clock.c                 |  1 +
>  arch/arm/mach-ep93xx/core.c                  |  2 ++
>  arch/arm/mach-ep93xx/include/mach/platform.h | 16 ---------
>  drivers/ata/pata_ep93xx.c                    |  2 +-
>  drivers/input/keyboard/ep93xx_keypad.c       |  3 +-
>  drivers/pwm/pwm-ep93xx.c                     |  2 +-
>  include/linux/soc/cirrus/ep93xx.h            | 37 ++++++++++++++++++++
>  sound/soc/cirrus/edb93xx.c                   |  2 +-
>  sound/soc/cirrus/ep93xx-ac97.c               |  1 +
>  sound/soc/cirrus/ep93xx-i2s.c                |  3 +-
>  sound/soc/cirrus/simone.c                    |  2 +-
>  sound/soc/cirrus/snappercl15.c               |  2 +-
>  12 files changed, 48 insertions(+), 25 deletions(-)
>  create mode 100644 include/linux/soc/cirrus/ep93xx.h
> 
> diff --git a/arch/arm/mach-ep93xx/clock.c b/arch/arm/mach-ep93xx/clock.c
> index d2eee707d27f..9f43362eb62d 100644
> --- a/arch/arm/mach-ep93xx/clock.c
> +++ b/arch/arm/mach-ep93xx/clock.c
> @@ -20,6 +20,7 @@
>  #include <linux/io.h>
>  #include <linux/spinlock.h>
>  #include <linux/clkdev.h>
> +#include <linux/soc/cirrus/ep93xx.h>
>  
>  #include <mach/hardware.h>
>  
> diff --git a/arch/arm/mach-ep93xx/core.c b/arch/arm/mach-ep93xx/core.c
> index 706515faee06..3d245668846d 100644
> --- a/arch/arm/mach-ep93xx/core.c
> +++ b/arch/arm/mach-ep93xx/core.c
> @@ -43,6 +43,8 @@
>  #include <linux/platform_data/video-ep93xx.h>
>  #include <linux/platform_data/keypad-ep93xx.h>
>  #include <linux/platform_data/spi-ep93xx.h>
> +#include <linux/soc/cirrus/ep93xx.h>
> +
>  #include <mach/gpio-ep93xx.h>
>  
>  #include <asm/mach/arch.h>
> diff --git a/arch/arm/mach-ep93xx/include/mach/platform.h b/arch/arm/mach-ep93xx/include/mach/platform.h
> index 43446f33c2be..b4045a186239 100644
> --- a/arch/arm/mach-ep93xx/include/mach/platform.h
> +++ b/arch/arm/mach-ep93xx/include/mach/platform.h
> @@ -19,14 +19,6 @@ struct ep93xx_spi_info;
>  void ep93xx_map_io(void);
>  void ep93xx_init_irq(void);
>  
> -#define EP93XX_CHIP_REV_D0	3
> -#define EP93XX_CHIP_REV_D1	4
> -#define EP93XX_CHIP_REV_E0	5
> -#define EP93XX_CHIP_REV_E1	6
> -#define EP93XX_CHIP_REV_E2	7
> -
> -unsigned int ep93xx_chip_revision(void);
> -
>  void ep93xx_register_flash(unsigned int width,
>  			   resource_size_t start, resource_size_t size);
>  
> @@ -36,19 +28,11 @@ void ep93xx_register_spi(struct ep93xx_spi_info *info,
>  			 struct spi_board_info *devices, int num);
>  void ep93xx_register_fb(struct ep93xxfb_mach_info *data);
>  void ep93xx_register_pwm(int pwm0, int pwm1);
> -int ep93xx_pwm_acquire_gpio(struct platform_device *pdev);
> -void ep93xx_pwm_release_gpio(struct platform_device *pdev);
>  void ep93xx_register_keypad(struct ep93xx_keypad_platform_data *data);
> -int ep93xx_keypad_acquire_gpio(struct platform_device *pdev);
> -void ep93xx_keypad_release_gpio(struct platform_device *pdev);
>  void ep93xx_register_i2s(void);
> -int ep93xx_i2s_acquire(void);
> -void ep93xx_i2s_release(void);
>  void ep93xx_register_ac97(void);
>  void ep93xx_register_ide(void);
>  void ep93xx_register_adc(void);
> -int ep93xx_ide_acquire_gpio(struct platform_device *pdev);
> -void ep93xx_ide_release_gpio(struct platform_device *pdev);
>  
>  struct device *ep93xx_init_devices(void);
>  extern void ep93xx_timer_init(void);
> diff --git a/drivers/ata/pata_ep93xx.c b/drivers/ata/pata_ep93xx.c
> index cc6d06c1b2c7..db271b705529 100644
> --- a/drivers/ata/pata_ep93xx.c
> +++ b/drivers/ata/pata_ep93xx.c
> @@ -44,7 +44,7 @@
>  #include <linux/ktime.h>
>  
>  #include <linux/platform_data/dma-ep93xx.h>
> -#include <mach/platform.h>
> +#include <linux/soc/cirrus/ep93xx.h>
>  
>  #define DRV_NAME	"ep93xx-ide"
>  #define DRV_VERSION	"1.0"
> diff --git a/drivers/input/keyboard/ep93xx_keypad.c b/drivers/input/keyboard/ep93xx_keypad.c
> index 71472f6257c0..575dac52f7b4 100644
> --- a/drivers/input/keyboard/ep93xx_keypad.c
> +++ b/drivers/input/keyboard/ep93xx_keypad.c
> @@ -27,8 +27,7 @@
>  #include <linux/io.h>
>  #include <linux/input/matrix_keypad.h>
>  #include <linux/slab.h>
> -
> -#include <mach/hardware.h>
> +#include <linux/soc/cirrus/ep93xx.h>
>  #include <linux/platform_data/keypad-ep93xx.h>
>  
>  /*
> diff --git a/drivers/pwm/pwm-ep93xx.c b/drivers/pwm/pwm-ep93xx.c
> index bbf10ae02f0e..fa168581e6b8 100644
> --- a/drivers/pwm/pwm-ep93xx.c
> +++ b/drivers/pwm/pwm-ep93xx.c
> @@ -35,7 +35,7 @@
>  
>  #include <asm/div64.h>
>  
> -#include <mach/platform.h>	/* for ep93xx_pwm_{acquire,release}_gpio() */
> +#include <linux/soc/cirrus/ep93xx.h>	/* for ep93xx_pwm_{acquire,release}_gpio() */
>  
>  #define EP93XX_PWMx_TERM_COUNT	0x00
>  #define EP93XX_PWMx_DUTY_CYCLE	0x04
> diff --git a/include/linux/soc/cirrus/ep93xx.h b/include/linux/soc/cirrus/ep93xx.h
> new file mode 100644
> index 000000000000..56fbe2dc59b1
> --- /dev/null
> +++ b/include/linux/soc/cirrus/ep93xx.h
> @@ -0,0 +1,37 @@
> +/* SPDX-License-Identifier: GPL-2.0 */
> +#ifndef _SOC_EP93XX_H
> +#define _SOC_EP93XX_H
> +
> +struct platform_device;
> +
> +#define EP93XX_CHIP_REV_D0	3
> +#define EP93XX_CHIP_REV_D1	4
> +#define EP93XX_CHIP_REV_E0	5
> +#define EP93XX_CHIP_REV_E1	6
> +#define EP93XX_CHIP_REV_E2	7
> +
> +#ifdef CONFIG_ARCH_EP93XX
> +int ep93xx_pwm_acquire_gpio(struct platform_device *pdev);
> +void ep93xx_pwm_release_gpio(struct platform_device *pdev);
> +int ep93xx_ide_acquire_gpio(struct platform_device *pdev);
> +void ep93xx_ide_release_gpio(struct platform_device *pdev);
> +int ep93xx_keypad_acquire_gpio(struct platform_device *pdev);
> +void ep93xx_keypad_release_gpio(struct platform_device *pdev);
> +int ep93xx_i2s_acquire(void);
> +void ep93xx_i2s_release(void);
> +unsigned int ep93xx_chip_revision(void);
> +
> +#else
> +static inline int ep93xx_pwm_acquire_gpio(struct platform_device *pdev) { return 0; }
> +static inline void ep93xx_pwm_release_gpio(struct platform_device *pdev) {}
> +static inline int ep93xx_ide_acquire_gpio(struct platform_device *pdev) { return 0; }
> +static inline void ep93xx_ide_release_gpio(struct platform_device *pdev) {}
> +static inline int ep93xx_keypad_acquire_gpio(struct platform_device *pdev) { return 0; }
> +static inline void ep93xx_keypad_release_gpio(struct platform_device *pdev) {}
> +static inline int ep93xx_i2s_acquire(void) { return 0; }
> +static inline void ep93xx_i2s_release(void) {}
> +static inline unsigned int ep93xx_chip_revision(void) { return 0; }
> +
> +#endif
> +
> +#endif
> diff --git a/sound/soc/cirrus/edb93xx.c b/sound/soc/cirrus/edb93xx.c
> index 3d011abaa266..f678b4c1514a 100644
> --- a/sound/soc/cirrus/edb93xx.c
> +++ b/sound/soc/cirrus/edb93xx.c
> @@ -22,11 +22,11 @@
>  #include <linux/platform_device.h>
>  #include <linux/gpio.h>
>  #include <linux/module.h>
> +#include <linux/soc/cirrus/ep93xx.h>
>  #include <sound/core.h>
>  #include <sound/pcm.h>
>  #include <sound/soc.h>
>  #include <asm/mach-types.h>
> -#include <mach/hardware.h>
>  
>  static int edb93xx_hw_params(struct snd_pcm_substream *substream,
>  			     struct snd_pcm_hw_params *params)
> diff --git a/sound/soc/cirrus/ep93xx-ac97.c b/sound/soc/cirrus/ep93xx-ac97.c
> index cd5a939ad608..c6bc447429af 100644
> --- a/sound/soc/cirrus/ep93xx-ac97.c
> +++ b/sound/soc/cirrus/ep93xx-ac97.c
> @@ -24,6 +24,7 @@
>  #include <sound/soc.h>
>  
>  #include <linux/platform_data/dma-ep93xx.h>
> +#include <linux/soc/cirrus/ep93xx.h>
>  
>  #include "ep93xx-pcm.h"
>  
> diff --git a/sound/soc/cirrus/ep93xx-i2s.c b/sound/soc/cirrus/ep93xx-i2s.c
> index 0918c5da575a..beab7c516855 100644
> --- a/sound/soc/cirrus/ep93xx-i2s.c
> +++ b/sound/soc/cirrus/ep93xx-i2s.c
> @@ -27,9 +27,8 @@
>  #include <sound/initval.h>
>  #include <sound/soc.h>
>  
> -#include <mach/hardware.h>
> -#include <mach/ep93xx-regs.h>
>  #include <linux/platform_data/dma-ep93xx.h>
> +#include <linux/soc/cirrus/ep93xx.h>
>  
>  #include "ep93xx-pcm.h"
>  
> diff --git a/sound/soc/cirrus/simone.c b/sound/soc/cirrus/simone.c
> index 1ec661834e5a..cb850530331b 100644
> --- a/sound/soc/cirrus/simone.c
> +++ b/sound/soc/cirrus/simone.c
> @@ -13,13 +13,13 @@
>  #include <linux/init.h>
>  #include <linux/module.h>
>  #include <linux/platform_device.h>
> +#include <linux/soc/cirrus/ep93xx.h>
>  
>  #include <sound/core.h>
>  #include <sound/pcm.h>
>  #include <sound/soc.h>
>  
>  #include <asm/mach-types.h>
> -#include <mach/hardware.h>
>  
>  static struct snd_soc_dai_link simone_dai = {
>  	.name		= "AC97",
> diff --git a/sound/soc/cirrus/snappercl15.c b/sound/soc/cirrus/snappercl15.c
> index 11ff7b2672b2..dea4909154c8 100644
> --- a/sound/soc/cirrus/snappercl15.c
> +++ b/sound/soc/cirrus/snappercl15.c
> @@ -13,12 +13,12 @@
>  
>  #include <linux/platform_device.h>
>  #include <linux/module.h>
> +#include <linux/soc/cirrus/ep93xx.h>
>  #include <sound/core.h>
>  #include <sound/pcm.h>
>  #include <sound/soc.h>
>  
>  #include <asm/mach-types.h>
> -#include <mach/hardware.h>
>  
>  #include "../codecs/tlv320aic23.h"
>  
> 

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH 4/4] ARM: ep93xx: move private headers out of mach/*
  2019-04-15 19:31 ` [PATCH 4/4] ARM: ep93xx: move private headers out of mach/* Arnd Bergmann
@ 2019-04-15 19:44   ` Alexander Sverdlin
  2019-04-16  6:03   ` Lukasz Majewski
  1 sibling, 0 replies; 16+ messages in thread
From: Alexander Sverdlin @ 2019-04-15 19:44 UTC (permalink / raw)
  To: Arnd Bergmann, Hartley Sweeten
  Cc: Linus Walleij, Lukasz Majewski, Olof Johansson, Mark Brown,
	Ulf Hansson, Laurent Pinchart, Miquel Raynal, Boris Brezillon,
	linux-arm-kernel, linux-kernel

On 15/04/2019 21:31, Arnd Bergmann wrote:
> gpio-ep93xx.h, hardware.h, and platform.h are only used in
> arch/arm/mach-ep93xx, so we can move them one there and no
> longer expose them to device drivers.

Acked-by: Alexander Sverdlin <alexander.sverdlin@gmail.com>

> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> ---
>  arch/arm/mach-ep93xx/adssphere.c                      | 2 +-
>  arch/arm/mach-ep93xx/clock.c                          | 2 +-
>  arch/arm/mach-ep93xx/core.c                           | 6 +++---
>  arch/arm/mach-ep93xx/dma.c                            | 2 +-
>  arch/arm/mach-ep93xx/edb93xx.c                        | 4 ++--
>  arch/arm/mach-ep93xx/gesbc9312.c                      | 2 +-
>  arch/arm/mach-ep93xx/{include/mach => }/gpio-ep93xx.h | 0
>  arch/arm/mach-ep93xx/{include/mach => }/hardware.h    | 2 +-
>  arch/arm/mach-ep93xx/micro9.c                         | 2 +-
>  arch/arm/mach-ep93xx/{include/mach => }/platform.h    | 0
>  arch/arm/mach-ep93xx/simone.c                         | 4 ++--
>  arch/arm/mach-ep93xx/snappercl15.c                    | 4 ++--
>  arch/arm/mach-ep93xx/ts72xx.c                         | 4 ++--
>  arch/arm/mach-ep93xx/vision_ep9307.c                  | 4 ++--
>  14 files changed, 19 insertions(+), 19 deletions(-)
>  rename arch/arm/mach-ep93xx/{include/mach => }/gpio-ep93xx.h (100%)
>  rename arch/arm/mach-ep93xx/{include/mach => }/hardware.h (96%)
>  rename arch/arm/mach-ep93xx/{include/mach => }/platform.h (100%)
> 
> diff --git a/arch/arm/mach-ep93xx/adssphere.c b/arch/arm/mach-ep93xx/adssphere.c
> index bda6c3a5c923..5d3a3e302012 100644
> --- a/arch/arm/mach-ep93xx/adssphere.c
> +++ b/arch/arm/mach-ep93xx/adssphere.c
> @@ -15,7 +15,7 @@
>  #include <linux/platform_device.h>
>  #include <linux/sizes.h>
>  
> -#include <mach/hardware.h>
> +#include "hardware.h"
>  
>  #include <asm/mach-types.h>
>  #include <asm/mach/arch.h>
> diff --git a/arch/arm/mach-ep93xx/clock.c b/arch/arm/mach-ep93xx/clock.c
> index 9f43362eb62d..b9f523d9dc8c 100644
> --- a/arch/arm/mach-ep93xx/clock.c
> +++ b/arch/arm/mach-ep93xx/clock.c
> @@ -22,7 +22,7 @@
>  #include <linux/clkdev.h>
>  #include <linux/soc/cirrus/ep93xx.h>
>  
> -#include <mach/hardware.h>
> +#include "hardware.h"
>  
>  #include <asm/div64.h>
>  
> diff --git a/arch/arm/mach-ep93xx/core.c b/arch/arm/mach-ep93xx/core.c
> index 3d245668846d..cc1382f879af 100644
> --- a/arch/arm/mach-ep93xx/core.c
> +++ b/arch/arm/mach-ep93xx/core.c
> @@ -39,13 +39,13 @@
>  #include <linux/usb/ohci_pdriver.h>
>  #include <linux/random.h>
>  
> -#include <mach/hardware.h>
> +#include "hardware.h"
>  #include <linux/platform_data/video-ep93xx.h>
>  #include <linux/platform_data/keypad-ep93xx.h>
>  #include <linux/platform_data/spi-ep93xx.h>
>  #include <linux/soc/cirrus/ep93xx.h>
>  
> -#include <mach/gpio-ep93xx.h>
> +#include "gpio-ep93xx.h"
>  
>  #include <asm/mach/arch.h>
>  #include <asm/mach/map.h>
> @@ -125,7 +125,7 @@ void ep93xx_devcfg_set_clear(unsigned int set_bits, unsigned int clear_bits)
>  /**
>   * ep93xx_chip_revision() - returns the EP93xx chip revision
>   *
> - * See <mach/platform.h> for more information.
> + * See "platform.h" for more information.
>   */
>  unsigned int ep93xx_chip_revision(void)
>  {
> diff --git a/arch/arm/mach-ep93xx/dma.c b/arch/arm/mach-ep93xx/dma.c
> index 88a4c9b089a5..821427107b11 100644
> --- a/arch/arm/mach-ep93xx/dma.c
> +++ b/arch/arm/mach-ep93xx/dma.c
> @@ -26,7 +26,7 @@
>  #include <linux/platform_device.h>
>  
>  #include <linux/platform_data/dma-ep93xx.h>
> -#include <mach/hardware.h>
> +#include "hardware.h"
>  
>  #include "soc.h"
>  
> diff --git a/arch/arm/mach-ep93xx/edb93xx.c b/arch/arm/mach-ep93xx/edb93xx.c
> index 8e89ec8b6f0f..d96dd014dd23 100644
> --- a/arch/arm/mach-ep93xx/edb93xx.c
> +++ b/arch/arm/mach-ep93xx/edb93xx.c
> @@ -32,10 +32,10 @@
>  
>  #include <sound/cs4271.h>
>  
> -#include <mach/hardware.h>
> +#include "hardware.h"
>  #include <linux/platform_data/video-ep93xx.h>
>  #include <linux/platform_data/spi-ep93xx.h>
> -#include <mach/gpio-ep93xx.h>
> +#include "gpio-ep93xx.h"
>  
>  #include <asm/mach-types.h>
>  #include <asm/mach/arch.h>
> diff --git a/arch/arm/mach-ep93xx/gesbc9312.c b/arch/arm/mach-ep93xx/gesbc9312.c
> index 0cca5b183309..ac48e3476587 100644
> --- a/arch/arm/mach-ep93xx/gesbc9312.c
> +++ b/arch/arm/mach-ep93xx/gesbc9312.c
> @@ -15,7 +15,7 @@
>  #include <linux/platform_device.h>
>  #include <linux/sizes.h>
>  
> -#include <mach/hardware.h>
> +#include "hardware.h"
>  
>  #include <asm/mach-types.h>
>  #include <asm/mach/arch.h>
> diff --git a/arch/arm/mach-ep93xx/include/mach/gpio-ep93xx.h b/arch/arm/mach-ep93xx/gpio-ep93xx.h
> similarity index 100%
> rename from arch/arm/mach-ep93xx/include/mach/gpio-ep93xx.h
> rename to arch/arm/mach-ep93xx/gpio-ep93xx.h
> diff --git a/arch/arm/mach-ep93xx/include/mach/hardware.h b/arch/arm/mach-ep93xx/hardware.h
> similarity index 96%
> rename from arch/arm/mach-ep93xx/include/mach/hardware.h
> rename to arch/arm/mach-ep93xx/hardware.h
> index 8938906e780a..e7d850e04782 100644
> --- a/arch/arm/mach-ep93xx/include/mach/hardware.h
> +++ b/arch/arm/mach-ep93xx/hardware.h
> @@ -6,7 +6,7 @@
>  #ifndef __ASM_ARCH_HARDWARE_H
>  #define __ASM_ARCH_HARDWARE_H
>  
> -#include <mach/platform.h>
> +#include "platform.h"
>  
>  /*
>   * The EP93xx has two external crystal oscillators.  To generate the
> diff --git a/arch/arm/mach-ep93xx/micro9.c b/arch/arm/mach-ep93xx/micro9.c
> index 373583c29825..c7f64e4ff6c7 100644
> --- a/arch/arm/mach-ep93xx/micro9.c
> +++ b/arch/arm/mach-ep93xx/micro9.c
> @@ -16,7 +16,7 @@
>  #include <linux/platform_device.h>
>  #include <linux/io.h>
>  
> -#include <mach/hardware.h>
> +#include "hardware.h"
>  
>  #include <asm/mach-types.h>
>  #include <asm/mach/arch.h>
> diff --git a/arch/arm/mach-ep93xx/include/mach/platform.h b/arch/arm/mach-ep93xx/platform.h
> similarity index 100%
> rename from arch/arm/mach-ep93xx/include/mach/platform.h
> rename to arch/arm/mach-ep93xx/platform.h
> diff --git a/arch/arm/mach-ep93xx/simone.c b/arch/arm/mach-ep93xx/simone.c
> index 80ccb984d521..adc17289cc23 100644
> --- a/arch/arm/mach-ep93xx/simone.c
> +++ b/arch/arm/mach-ep93xx/simone.c
> @@ -27,8 +27,8 @@
>  #include <linux/gpio.h>
>  #include <linux/gpio/machine.h>
>  
> -#include <mach/hardware.h>
> -#include <mach/gpio-ep93xx.h>
> +#include "hardware.h"
> +#include "gpio-ep93xx.h"
>  
>  #include <asm/mach-types.h>
>  #include <asm/mach/arch.h>
> diff --git a/arch/arm/mach-ep93xx/snappercl15.c b/arch/arm/mach-ep93xx/snappercl15.c
> index cf0cb58b3454..f8f89551dbed 100644
> --- a/arch/arm/mach-ep93xx/snappercl15.c
> +++ b/arch/arm/mach-ep93xx/snappercl15.c
> @@ -25,9 +25,9 @@
>  
>  #include <linux/mtd/platnand.h>
>  
> -#include <mach/hardware.h>
> +#include "hardware.h"
>  #include <linux/platform_data/video-ep93xx.h>
> -#include <mach/gpio-ep93xx.h>
> +#include "gpio-ep93xx.h"
>  
>  #include <asm/mach-types.h>
>  #include <asm/mach/arch.h>
> diff --git a/arch/arm/mach-ep93xx/ts72xx.c b/arch/arm/mach-ep93xx/ts72xx.c
> index 85b74ac943f0..bba6aa5d7106 100644
> --- a/arch/arm/mach-ep93xx/ts72xx.c
> +++ b/arch/arm/mach-ep93xx/ts72xx.c
> @@ -23,8 +23,8 @@
>  #include <linux/mmc/host.h>
>  #include <linux/platform_data/spi-ep93xx.h>
>  
> -#include <mach/gpio-ep93xx.h>
> -#include <mach/hardware.h>
> +#include "gpio-ep93xx.h"
> +#include "hardware.h"
>  #include <mach/irqs.h>
>  
>  #include <asm/mach-types.h>
> diff --git a/arch/arm/mach-ep93xx/vision_ep9307.c b/arch/arm/mach-ep93xx/vision_ep9307.c
> index 767ee64628dc..66e2b34aa779 100644
> --- a/arch/arm/mach-ep93xx/vision_ep9307.c
> +++ b/arch/arm/mach-ep93xx/vision_ep9307.c
> @@ -31,10 +31,10 @@
>  
>  #include <sound/cs4271.h>
>  
> -#include <mach/hardware.h>
> +#include "hardware.h"
>  #include <linux/platform_data/video-ep93xx.h>
>  #include <linux/platform_data/spi-ep93xx.h>
> -#include <mach/gpio-ep93xx.h>
> +#include "gpio-ep93xx.h"
>  
>  #include <asm/mach-types.h>
>  #include <asm/mach/map.h>
> 

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH 2/4] ARM: ep93xx: keypad: stop using mach/platform.h
  2019-04-15 19:39   ` Hartley Sweeten
@ 2019-04-15 19:47     ` Arnd Bergmann
  2019-04-15 19:54       ` Alexander Sverdlin
  2019-04-15 19:58       ` Hartley Sweeten
  0 siblings, 2 replies; 16+ messages in thread
From: Arnd Bergmann @ 2019-04-15 19:47 UTC (permalink / raw)
  To: Hartley Sweeten
  Cc: Alexander Sverdlin, Linus Walleij, Dmitry Torokhov, Stefan Agner,
	Enric Balletbo i Serra, Guenter Roeck, linux-input, linux-kernel

On Mon, Apr 15, 2019 at 9:39 PM Hartley Sweeten
<HartleyS@visionengravers.com> wrote:
>
> On Monday, April 15, 2019 12:25 PM, Arnd Bergmann wrote:
> > We can communicate the clock rate using platform data rather than setting a
> > flag to use a particular value in the driver, which is cleaner and avoids the dependency.
> >
> > No platform in the kernel currently defines the ep93xx keypad device structure, so this
> > is a rather pointless excercise.  Any out of tree users are probably dead now, but if not,
> >  they have to change their platform code to match the new platform_data structure.
>
> <snip>
>
> > diff --git a/include/linux/platform_data/keypad-ep93xx.h b/include/linux/platform_data/keypad-ep93xx.h
> > index 0e36818e3680..3054fced8509 100644
> > --- a/include/linux/platform_data/keypad-ep93xx.h
> > +++ b/include/linux/platform_data/keypad-ep93xx.h
> > @@ -9,8 +9,7 @@ struct matrix_keymap_data;
> >  #define EP93XX_KEYPAD_DIAG_MODE              (1<<1)  /* diagnostic mode */
> >  #define EP93XX_KEYPAD_BACK_DRIVE     (1<<2)  /* back driving mode */
> >  #define EP93XX_KEYPAD_TEST_MODE              (1<<3)  /* scan only column 0 */
> > -#define EP93XX_KEYPAD_KDIV           (1<<4)  /* 1/4 clock or 1/16 clock */
> > -#define EP93XX_KEYPAD_AUTOREPEAT     (1<<5)  /* enable key autorepeat */
> > +#define EP93XX_KEYPAD_AUTOREPEAT     (1<<4)  /* enable key autorepeat */
>
> You have re-defined the keypad register bits here.
>
> The KDIV bit changes the clock rate. The AUTOREPEAT bit enables key autorepeat.

As far as I can tell, they are not register bits, just software flags
for communicating between a board file and the driver, so I
assumed I could freely reorganize them.

Did I miss something?

      Arnd

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH 2/4] ARM: ep93xx: keypad: stop using mach/platform.h
  2019-04-15 19:47     ` Arnd Bergmann
@ 2019-04-15 19:54       ` Alexander Sverdlin
  2019-04-15 20:01         ` Guenter Roeck
  2019-04-15 19:58       ` Hartley Sweeten
  1 sibling, 1 reply; 16+ messages in thread
From: Alexander Sverdlin @ 2019-04-15 19:54 UTC (permalink / raw)
  To: Arnd Bergmann, Hartley Sweeten
  Cc: Linus Walleij, Dmitry Torokhov, Stefan Agner,
	Enric Balletbo i Serra, Guenter Roeck, linux-input, linux-kernel

Hi!

On 15/04/2019 21:47, Arnd Bergmann wrote:
>>> We can communicate the clock rate using platform data rather than setting a
>>> flag to use a particular value in the driver, which is cleaner and avoids the dependency.
>>>
>>> No platform in the kernel currently defines the ep93xx keypad device structure, so this
>>> is a rather pointless excercise.  Any out of tree users are probably dead now, but if not,
>>>  they have to change their platform code to match the new platform_data structure.
>> <snip>
>>
>>> diff --git a/include/linux/platform_data/keypad-ep93xx.h b/include/linux/platform_data/keypad-ep93xx.h
>>> index 0e36818e3680..3054fced8509 100644
>>> --- a/include/linux/platform_data/keypad-ep93xx.h
>>> +++ b/include/linux/platform_data/keypad-ep93xx.h
>>> @@ -9,8 +9,7 @@ struct matrix_keymap_data;
>>>  #define EP93XX_KEYPAD_DIAG_MODE              (1<<1)  /* diagnostic mode */
>>>  #define EP93XX_KEYPAD_BACK_DRIVE     (1<<2)  /* back driving mode */
>>>  #define EP93XX_KEYPAD_TEST_MODE              (1<<3)  /* scan only column 0 */
>>> -#define EP93XX_KEYPAD_KDIV           (1<<4)  /* 1/4 clock or 1/16 clock */
>>> -#define EP93XX_KEYPAD_AUTOREPEAT     (1<<5)  /* enable key autorepeat */
>>> +#define EP93XX_KEYPAD_AUTOREPEAT     (1<<4)  /* enable key autorepeat */
>> You have re-defined the keypad register bits here.
>>
>> The KDIV bit changes the clock rate. The AUTOREPEAT bit enables key autorepeat.
> As far as I can tell, they are not register bits, just software flags
> for communicating between a board file and the driver, so I
> assumed I could freely reorganize them.
> 
> Did I miss something?

They are indeed only software flags (just checked datasheet), so you are only changing
platform data format. But as I do not know any keypad user in person, I'd rely on
Hartley's opinion in this case (if it's a good idea to change platform data or not).

--
Alex.

^ permalink raw reply	[flat|nested] 16+ messages in thread

* RE: [PATCH 2/4] ARM: ep93xx: keypad: stop using mach/platform.h
  2019-04-15 19:47     ` Arnd Bergmann
  2019-04-15 19:54       ` Alexander Sverdlin
@ 2019-04-15 19:58       ` Hartley Sweeten
  1 sibling, 0 replies; 16+ messages in thread
From: Hartley Sweeten @ 2019-04-15 19:58 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: Alexander Sverdlin, Linus Walleij, Dmitry Torokhov, Stefan Agner,
	Enric Balletbo i Serra, Guenter Roeck, linux-input, linux-kernel

On Monday, April 15, 2019 12:47 PM, Arnd Bergmann wrote:
> On Mon, Apr 15, 2019 at 9:39 PM Hartley Sweeten <HartleyS@visionengravers.com> wrote:
>>> -#define EP93XX_KEYPAD_KDIV           (1<<4)  /* 1/4 clock or 1/16 clock */
>>> -#define EP93XX_KEYPAD_AUTOREPEAT     (1<<5)  /* enable key autorepeat */
>>> +#define EP93XX_KEYPAD_AUTOREPEAT     (1<<4)  /* enable key autorepeat */
>>
>> You have re-defined the keypad register bits here.
>>
>> The KDIV bit changes the clock rate. The AUTOREPEAT bit enables key autorepeat.
>
> As far as I can tell, they are not register bits, just software flags for communicating between a
> board file and the driver, so I assumed I could freely reorganize them.
>
> Did I miss something?

Ugh.. It's been quite a while since I looked at that code...

Your correct, these are just flags to the driver.

The KeyScanInit register does have some bits that these flags effect but the driver deals
with them.

I have been buried updating an old PowerPC hardware/software design and haven't looked
at the EP93xx lately. My EP9307 board does have the keypad interface. Hopefully I will get
some time to check the latest mainline on it sometime soon.

Overall these patches look good. So, for the series...

Acked-by: H Hartley Sweeten <hsweeten@visionengravers.com>


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH 2/4] ARM: ep93xx: keypad: stop using mach/platform.h
  2019-04-15 19:54       ` Alexander Sverdlin
@ 2019-04-15 20:01         ` Guenter Roeck
  0 siblings, 0 replies; 16+ messages in thread
From: Guenter Roeck @ 2019-04-15 20:01 UTC (permalink / raw)
  To: Alexander Sverdlin
  Cc: Arnd Bergmann, Hartley Sweeten, Linus Walleij, Dmitry Torokhov,
	Stefan Agner, Enric Balletbo i Serra, Guenter Roeck, linux-input,
	linux-kernel

On Mon, Apr 15, 2019 at 12:56 PM Alexander Sverdlin
<alexander.sverdlin@gmail.com> wrote:
>
> Hi!
>
> On 15/04/2019 21:47, Arnd Bergmann wrote:
> >>> We can communicate the clock rate using platform data rather than setting a
> >>> flag to use a particular value in the driver, which is cleaner and avoids the dependency.
> >>>
> >>> No platform in the kernel currently defines the ep93xx keypad device structure, so this
> >>> is a rather pointless excercise.  Any out of tree users are probably dead now, but if not,
> >>>  they have to change their platform code to match the new platform_data structure.
> >> <snip>
> >>
> >>> diff --git a/include/linux/platform_data/keypad-ep93xx.h b/include/linux/platform_data/keypad-ep93xx.h
> >>> index 0e36818e3680..3054fced8509 100644
> >>> --- a/include/linux/platform_data/keypad-ep93xx.h
> >>> +++ b/include/linux/platform_data/keypad-ep93xx.h
> >>> @@ -9,8 +9,7 @@ struct matrix_keymap_data;
> >>>  #define EP93XX_KEYPAD_DIAG_MODE              (1<<1)  /* diagnostic mode */
> >>>  #define EP93XX_KEYPAD_BACK_DRIVE     (1<<2)  /* back driving mode */
> >>>  #define EP93XX_KEYPAD_TEST_MODE              (1<<3)  /* scan only column 0 */
> >>> -#define EP93XX_KEYPAD_KDIV           (1<<4)  /* 1/4 clock or 1/16 clock */
> >>> -#define EP93XX_KEYPAD_AUTOREPEAT     (1<<5)  /* enable key autorepeat */
> >>> +#define EP93XX_KEYPAD_AUTOREPEAT     (1<<4)  /* enable key autorepeat */
> >> You have re-defined the keypad register bits here.
> >>
> >> The KDIV bit changes the clock rate. The AUTOREPEAT bit enables key autorepeat.
> > As far as I can tell, they are not register bits, just software flags
> > for communicating between a board file and the driver, so I
> > assumed I could freely reorganize them.
> >
> > Did I miss something?
>
> They are indeed only software flags (just checked datasheet), so you are only changing
> platform data format. But as I do not know any keypad user in person, I'd rely on
> Hartley's opinion in this case (if it's a good idea to change platform data or not).
>

If there are out-of-tree users, it would be their responsibility to
upstream their code. If they don't, any changes in platform data is
their problem, not ours. Either case, platform data does, if anything,
reflect an in-kernel API, and thus is fair game for cleanup.

Guenter

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH 4/4] ARM: ep93xx: move private headers out of mach/*
  2019-04-15 19:31 ` [PATCH 4/4] ARM: ep93xx: move private headers out of mach/* Arnd Bergmann
  2019-04-15 19:44   ` Alexander Sverdlin
@ 2019-04-16  6:03   ` Lukasz Majewski
  1 sibling, 0 replies; 16+ messages in thread
From: Lukasz Majewski @ 2019-04-16  6:03 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: Hartley Sweeten, Alexander Sverdlin, Linus Walleij,
	Olof Johansson, Mark Brown, Ulf Hansson, Laurent Pinchart,
	Miquel Raynal, Boris Brezillon, linux-arm-kernel, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 8531 bytes --]

On Mon, 15 Apr 2019 21:31:50 +0200
Arnd Bergmann <arnd@arndb.de> wrote:

> gpio-ep93xx.h, hardware.h, and platform.h are only used in
> arch/arm/mach-ep93xx, so we can move them one there and no
> longer expose them to device drivers.
> 
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> ---
>  arch/arm/mach-ep93xx/adssphere.c                      | 2 +-
>  arch/arm/mach-ep93xx/clock.c                          | 2 +-
>  arch/arm/mach-ep93xx/core.c                           | 6 +++---
>  arch/arm/mach-ep93xx/dma.c                            | 2 +-
>  arch/arm/mach-ep93xx/edb93xx.c                        | 4 ++--
>  arch/arm/mach-ep93xx/gesbc9312.c                      | 2 +-
>  arch/arm/mach-ep93xx/{include/mach => }/gpio-ep93xx.h | 0
>  arch/arm/mach-ep93xx/{include/mach => }/hardware.h    | 2 +-
>  arch/arm/mach-ep93xx/micro9.c                         | 2 +-
>  arch/arm/mach-ep93xx/{include/mach => }/platform.h    | 0
>  arch/arm/mach-ep93xx/simone.c                         | 4 ++--
>  arch/arm/mach-ep93xx/snappercl15.c                    | 4 ++--
>  arch/arm/mach-ep93xx/ts72xx.c                         | 4 ++--
>  arch/arm/mach-ep93xx/vision_ep9307.c                  | 4 ++--
>  14 files changed, 19 insertions(+), 19 deletions(-)
>  rename arch/arm/mach-ep93xx/{include/mach => }/gpio-ep93xx.h (100%)
>  rename arch/arm/mach-ep93xx/{include/mach => }/hardware.h (96%)
>  rename arch/arm/mach-ep93xx/{include/mach => }/platform.h (100%)
> 

Reviewed-by: Lukasz Majewski <lukma@denx.de>

> diff --git a/arch/arm/mach-ep93xx/adssphere.c
> b/arch/arm/mach-ep93xx/adssphere.c index bda6c3a5c923..5d3a3e302012
> 100644 --- a/arch/arm/mach-ep93xx/adssphere.c
> +++ b/arch/arm/mach-ep93xx/adssphere.c
> @@ -15,7 +15,7 @@
>  #include <linux/platform_device.h>
>  #include <linux/sizes.h>
>  
> -#include <mach/hardware.h>
> +#include "hardware.h"
>  
>  #include <asm/mach-types.h>
>  #include <asm/mach/arch.h>
> diff --git a/arch/arm/mach-ep93xx/clock.c
> b/arch/arm/mach-ep93xx/clock.c index 9f43362eb62d..b9f523d9dc8c 100644
> --- a/arch/arm/mach-ep93xx/clock.c
> +++ b/arch/arm/mach-ep93xx/clock.c
> @@ -22,7 +22,7 @@
>  #include <linux/clkdev.h>
>  #include <linux/soc/cirrus/ep93xx.h>
>  
> -#include <mach/hardware.h>
> +#include "hardware.h"
>  
>  #include <asm/div64.h>
>  
> diff --git a/arch/arm/mach-ep93xx/core.c b/arch/arm/mach-ep93xx/core.c
> index 3d245668846d..cc1382f879af 100644
> --- a/arch/arm/mach-ep93xx/core.c
> +++ b/arch/arm/mach-ep93xx/core.c
> @@ -39,13 +39,13 @@
>  #include <linux/usb/ohci_pdriver.h>
>  #include <linux/random.h>
>  
> -#include <mach/hardware.h>
> +#include "hardware.h"
>  #include <linux/platform_data/video-ep93xx.h>
>  #include <linux/platform_data/keypad-ep93xx.h>
>  #include <linux/platform_data/spi-ep93xx.h>
>  #include <linux/soc/cirrus/ep93xx.h>
>  
> -#include <mach/gpio-ep93xx.h>
> +#include "gpio-ep93xx.h"
>  
>  #include <asm/mach/arch.h>
>  #include <asm/mach/map.h>
> @@ -125,7 +125,7 @@ void ep93xx_devcfg_set_clear(unsigned int
> set_bits, unsigned int clear_bits) /**
>   * ep93xx_chip_revision() - returns the EP93xx chip revision
>   *
> - * See <mach/platform.h> for more information.
> + * See "platform.h" for more information.
>   */
>  unsigned int ep93xx_chip_revision(void)
>  {
> diff --git a/arch/arm/mach-ep93xx/dma.c b/arch/arm/mach-ep93xx/dma.c
> index 88a4c9b089a5..821427107b11 100644
> --- a/arch/arm/mach-ep93xx/dma.c
> +++ b/arch/arm/mach-ep93xx/dma.c
> @@ -26,7 +26,7 @@
>  #include <linux/platform_device.h>
>  
>  #include <linux/platform_data/dma-ep93xx.h>
> -#include <mach/hardware.h>
> +#include "hardware.h"
>  
>  #include "soc.h"
>  
> diff --git a/arch/arm/mach-ep93xx/edb93xx.c
> b/arch/arm/mach-ep93xx/edb93xx.c index 8e89ec8b6f0f..d96dd014dd23
> 100644 --- a/arch/arm/mach-ep93xx/edb93xx.c
> +++ b/arch/arm/mach-ep93xx/edb93xx.c
> @@ -32,10 +32,10 @@
>  
>  #include <sound/cs4271.h>
>  
> -#include <mach/hardware.h>
> +#include "hardware.h"
>  #include <linux/platform_data/video-ep93xx.h>
>  #include <linux/platform_data/spi-ep93xx.h>
> -#include <mach/gpio-ep93xx.h>
> +#include "gpio-ep93xx.h"
>  
>  #include <asm/mach-types.h>
>  #include <asm/mach/arch.h>
> diff --git a/arch/arm/mach-ep93xx/gesbc9312.c
> b/arch/arm/mach-ep93xx/gesbc9312.c index 0cca5b183309..ac48e3476587
> 100644 --- a/arch/arm/mach-ep93xx/gesbc9312.c
> +++ b/arch/arm/mach-ep93xx/gesbc9312.c
> @@ -15,7 +15,7 @@
>  #include <linux/platform_device.h>
>  #include <linux/sizes.h>
>  
> -#include <mach/hardware.h>
> +#include "hardware.h"
>  
>  #include <asm/mach-types.h>
>  #include <asm/mach/arch.h>
> diff --git a/arch/arm/mach-ep93xx/include/mach/gpio-ep93xx.h
> b/arch/arm/mach-ep93xx/gpio-ep93xx.h similarity index 100%
> rename from arch/arm/mach-ep93xx/include/mach/gpio-ep93xx.h
> rename to arch/arm/mach-ep93xx/gpio-ep93xx.h
> diff --git a/arch/arm/mach-ep93xx/include/mach/hardware.h
> b/arch/arm/mach-ep93xx/hardware.h similarity index 96%
> rename from arch/arm/mach-ep93xx/include/mach/hardware.h
> rename to arch/arm/mach-ep93xx/hardware.h
> index 8938906e780a..e7d850e04782 100644
> --- a/arch/arm/mach-ep93xx/include/mach/hardware.h
> +++ b/arch/arm/mach-ep93xx/hardware.h
> @@ -6,7 +6,7 @@
>  #ifndef __ASM_ARCH_HARDWARE_H
>  #define __ASM_ARCH_HARDWARE_H
>  
> -#include <mach/platform.h>
> +#include "platform.h"
>  
>  /*
>   * The EP93xx has two external crystal oscillators.  To generate the
> diff --git a/arch/arm/mach-ep93xx/micro9.c
> b/arch/arm/mach-ep93xx/micro9.c index 373583c29825..c7f64e4ff6c7
> 100644 --- a/arch/arm/mach-ep93xx/micro9.c
> +++ b/arch/arm/mach-ep93xx/micro9.c
> @@ -16,7 +16,7 @@
>  #include <linux/platform_device.h>
>  #include <linux/io.h>
>  
> -#include <mach/hardware.h>
> +#include "hardware.h"
>  
>  #include <asm/mach-types.h>
>  #include <asm/mach/arch.h>
> diff --git a/arch/arm/mach-ep93xx/include/mach/platform.h
> b/arch/arm/mach-ep93xx/platform.h similarity index 100%
> rename from arch/arm/mach-ep93xx/include/mach/platform.h
> rename to arch/arm/mach-ep93xx/platform.h
> diff --git a/arch/arm/mach-ep93xx/simone.c
> b/arch/arm/mach-ep93xx/simone.c index 80ccb984d521..adc17289cc23
> 100644 --- a/arch/arm/mach-ep93xx/simone.c
> +++ b/arch/arm/mach-ep93xx/simone.c
> @@ -27,8 +27,8 @@
>  #include <linux/gpio.h>
>  #include <linux/gpio/machine.h>
>  
> -#include <mach/hardware.h>
> -#include <mach/gpio-ep93xx.h>
> +#include "hardware.h"
> +#include "gpio-ep93xx.h"
>  
>  #include <asm/mach-types.h>
>  #include <asm/mach/arch.h>
> diff --git a/arch/arm/mach-ep93xx/snappercl15.c
> b/arch/arm/mach-ep93xx/snappercl15.c index cf0cb58b3454..f8f89551dbed
> 100644 --- a/arch/arm/mach-ep93xx/snappercl15.c
> +++ b/arch/arm/mach-ep93xx/snappercl15.c
> @@ -25,9 +25,9 @@
>  
>  #include <linux/mtd/platnand.h>
>  
> -#include <mach/hardware.h>
> +#include "hardware.h"
>  #include <linux/platform_data/video-ep93xx.h>
> -#include <mach/gpio-ep93xx.h>
> +#include "gpio-ep93xx.h"
>  
>  #include <asm/mach-types.h>
>  #include <asm/mach/arch.h>
> diff --git a/arch/arm/mach-ep93xx/ts72xx.c
> b/arch/arm/mach-ep93xx/ts72xx.c index 85b74ac943f0..bba6aa5d7106
> 100644 --- a/arch/arm/mach-ep93xx/ts72xx.c
> +++ b/arch/arm/mach-ep93xx/ts72xx.c
> @@ -23,8 +23,8 @@
>  #include <linux/mmc/host.h>
>  #include <linux/platform_data/spi-ep93xx.h>
>  
> -#include <mach/gpio-ep93xx.h>
> -#include <mach/hardware.h>
> +#include "gpio-ep93xx.h"
> +#include "hardware.h"
>  #include <mach/irqs.h>
>  
>  #include <asm/mach-types.h>
> diff --git a/arch/arm/mach-ep93xx/vision_ep9307.c
> b/arch/arm/mach-ep93xx/vision_ep9307.c index
> 767ee64628dc..66e2b34aa779 100644 ---
> a/arch/arm/mach-ep93xx/vision_ep9307.c +++
> b/arch/arm/mach-ep93xx/vision_ep9307.c @@ -31,10 +31,10 @@
>  
>  #include <sound/cs4271.h>
>  
> -#include <mach/hardware.h>
> +#include "hardware.h"
>  #include <linux/platform_data/video-ep93xx.h>
>  #include <linux/platform_data/spi-ep93xx.h>
> -#include <mach/gpio-ep93xx.h>
> +#include "gpio-ep93xx.h"
>  
>  #include <asm/mach-types.h>
>  #include <asm/mach/map.h>




Best regards,

Lukasz Majewski

--

DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email: lukma@denx.de

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH 2/4] ARM: ep93xx: keypad: stop using mach/platform.h
  2019-04-15 19:25 ` [PATCH 2/4] ARM: ep93xx: keypad: stop using mach/platform.h Arnd Bergmann
  2019-04-15 19:39   ` Hartley Sweeten
@ 2019-04-23  3:22   ` Dmitry Torokhov
  1 sibling, 0 replies; 16+ messages in thread
From: Dmitry Torokhov @ 2019-04-23  3:22 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: Hartley Sweeten, Alexander Sverdlin, Linus Walleij, Stefan Agner,
	Enric Balletbo i Serra, Guenter Roeck, linux-input, linux-kernel

On Mon, Apr 15, 2019 at 09:25:24PM +0200, Arnd Bergmann wrote:
> We can communicate the clock rate using platform data rather than setting
> a flag to use a particular value in the driver, which is cleaner and
> avoids the dependency.
> 
> No platform in the kernel currently defines the ep93xx keypad device
> structure, so this is a rather pointless excercise.  Any out of tree
> users are probably dead now, but if not, they have to change their
> platform code to match the new platform_data structure.
> 
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>

Acked-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>

Please feel free to merge with the rest of the patches.

> ---
>  drivers/input/keyboard/Kconfig              | 2 +-
>  drivers/input/keyboard/ep93xx_keypad.c      | 5 +----
>  include/linux/platform_data/keypad-ep93xx.h | 4 ++--
>  3 files changed, 4 insertions(+), 7 deletions(-)
> 
> diff --git a/drivers/input/keyboard/Kconfig b/drivers/input/keyboard/Kconfig
> index a878351f1643..b373f3274542 100644
> --- a/drivers/input/keyboard/Kconfig
> +++ b/drivers/input/keyboard/Kconfig
> @@ -194,7 +194,7 @@ config KEYBOARD_LKKBD
>  
>  config KEYBOARD_EP93XX
>  	tristate "EP93xx Matrix Keypad support"
> -	depends on ARCH_EP93XX
> +	depends on ARCH_EP93XX || COMPILE_TEST
>  	select INPUT_MATRIXKMAP
>  	help
>  	  Say Y here to enable the matrix keypad on the Cirrus EP93XX.
> diff --git a/drivers/input/keyboard/ep93xx_keypad.c b/drivers/input/keyboard/ep93xx_keypad.c
> index f77b295e0123..71472f6257c0 100644
> --- a/drivers/input/keyboard/ep93xx_keypad.c
> +++ b/drivers/input/keyboard/ep93xx_keypad.c
> @@ -137,10 +137,7 @@ static void ep93xx_keypad_config(struct ep93xx_keypad *keypad)
>  	struct ep93xx_keypad_platform_data *pdata = keypad->pdata;
>  	unsigned int val = 0;
>  
> -	if (pdata->flags & EP93XX_KEYPAD_KDIV)
> -		clk_set_rate(keypad->clk, EP93XX_KEYTCHCLK_DIV4);
> -	else
> -		clk_set_rate(keypad->clk, EP93XX_KEYTCHCLK_DIV16);
> +	clk_set_rate(keypad->clk, pdata->clk_rate);
>  
>  	if (pdata->flags & EP93XX_KEYPAD_DISABLE_3_KEY)
>  		val |= KEY_INIT_DIS3KY;
> diff --git a/include/linux/platform_data/keypad-ep93xx.h b/include/linux/platform_data/keypad-ep93xx.h
> index 0e36818e3680..3054fced8509 100644
> --- a/include/linux/platform_data/keypad-ep93xx.h
> +++ b/include/linux/platform_data/keypad-ep93xx.h
> @@ -9,8 +9,7 @@ struct matrix_keymap_data;
>  #define EP93XX_KEYPAD_DIAG_MODE		(1<<1)	/* diagnostic mode */
>  #define EP93XX_KEYPAD_BACK_DRIVE	(1<<2)	/* back driving mode */
>  #define EP93XX_KEYPAD_TEST_MODE		(1<<3)	/* scan only column 0 */
> -#define EP93XX_KEYPAD_KDIV		(1<<4)	/* 1/4 clock or 1/16 clock */
> -#define EP93XX_KEYPAD_AUTOREPEAT	(1<<5)	/* enable key autorepeat */
> +#define EP93XX_KEYPAD_AUTOREPEAT	(1<<4)	/* enable key autorepeat */
>  
>  /**
>   * struct ep93xx_keypad_platform_data - platform specific device structure
> @@ -24,6 +23,7 @@ struct ep93xx_keypad_platform_data {
>  	unsigned int	debounce;
>  	unsigned int	prescale;
>  	unsigned int	flags;
> +	unsigned int	clk_rate;
>  };
>  
>  #define EP93XX_MATRIX_ROWS		(8)
> -- 
> 2.20.0
> 

-- 
Dmitry

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH 1/4] ARM: ep93xx: move network platform data to separate header
  2019-04-15 19:25 [PATCH 1/4] ARM: ep93xx: move network platform data to separate header Arnd Bergmann
                   ` (3 preceding siblings ...)
  2019-04-15 19:31 ` [PATCH 4/4] ARM: ep93xx: move private headers out of mach/* Arnd Bergmann
@ 2019-04-23 10:39 ` Linus Walleij
  4 siblings, 0 replies; 16+ messages in thread
From: Linus Walleij @ 2019-04-23 10:39 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: Hartley Sweeten, Alexander Sverdlin, David S. Miller,
	Jakub Kicinski, David Ahern, Linux ARM, linux-kernel, netdev

On Mon, Apr 15, 2019 at 9:27 PM Arnd Bergmann <arnd@arndb.de> wrote:

> The header file is the only thing preventing us from building the
> driver in a cross-platform configuration, so move the structure
> we are interested in to the global platform_data location
> and enable compile testing.
>
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>

My EP93xx board is not working right now but looks good to me.
Acked-by: Linus Walleij <linus.walleij@linaro.org>

Yours,
Linus Walleij

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH 3/4] ARM: ep93xx: move pinctrl interfaces into include/linux/soc
  2019-04-15 19:25 ` [PATCH 3/4] ARM: ep93xx: move pinctrl interfaces into include/linux/soc Arnd Bergmann
  2019-04-15 19:41   ` Alexander Sverdlin
@ 2019-04-23 10:41   ` Linus Walleij
  1 sibling, 0 replies; 16+ messages in thread
From: Linus Walleij @ 2019-04-23 10:41 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: Hartley Sweeten, Alexander Sverdlin, Bartlomiej Zolnierkiewicz,
	Jens Axboe, Dmitry Torokhov, Thierry Reding, Mark Brown,
	Olof Johansson, Linux ARM, linux-kernel, linux-ide, Linux Input,
	linux-pwm,
	moderated list:SOUND - SOC LAYER / DYNAMIC AUDIO POWER MANAGEM...

On Mon, Apr 15, 2019 at 9:30 PM Arnd Bergmann <arnd@arndb.de> wrote:

> ep93xx does not have a proper pinctrl driver, but does things
> ad-hoc through mach/platform.h, which is also used for setting
> up the boards.
>
> To avoid using mach/*.h headers completely, let's move the interfaces
> into include/linux/soc/. This is far from great, but gets the job
> done here, without the need for a proper pinctrl driver.
>
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>

Acked-by: Linus Walleij <linus.walleij@linaro.org>

Yours,
Linus Walleij

^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2019-04-23 10:41 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-04-15 19:25 [PATCH 1/4] ARM: ep93xx: move network platform data to separate header Arnd Bergmann
2019-04-15 19:25 ` [PATCH 2/4] ARM: ep93xx: keypad: stop using mach/platform.h Arnd Bergmann
2019-04-15 19:39   ` Hartley Sweeten
2019-04-15 19:47     ` Arnd Bergmann
2019-04-15 19:54       ` Alexander Sverdlin
2019-04-15 20:01         ` Guenter Roeck
2019-04-15 19:58       ` Hartley Sweeten
2019-04-23  3:22   ` Dmitry Torokhov
2019-04-15 19:25 ` [PATCH 3/4] ARM: ep93xx: move pinctrl interfaces into include/linux/soc Arnd Bergmann
2019-04-15 19:41   ` Alexander Sverdlin
2019-04-23 10:41   ` Linus Walleij
2019-04-15 19:31 ` [PATCH 1/4] ARM: ep93xx: move network platform data to separate header Alexander Sverdlin
2019-04-15 19:31 ` [PATCH 4/4] ARM: ep93xx: move private headers out of mach/* Arnd Bergmann
2019-04-15 19:44   ` Alexander Sverdlin
2019-04-16  6:03   ` Lukasz Majewski
2019-04-23 10:39 ` [PATCH 1/4] ARM: ep93xx: move network platform data to separate header Linus Walleij

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).