[PATCH v2 00/16] MIPS: move pic32.h header file from asm to platform_data

Brian Masney posted 16 patches 3 weeks, 5 days ago
MAINTAINERS                                             |  1 +
arch/mips/pic32/common/reset.c                          |  3 ++-
arch/mips/pic32/pic32mzda/config.c                      |  3 +--
arch/mips/pic32/pic32mzda/early_clk.c                   |  3 ++-
arch/mips/pic32/pic32mzda/early_console.c               |  3 ++-
drivers/clk/microchip/Kconfig                           |  2 +-
drivers/clk/microchip/clk-core.c                        |  6 +++++-
drivers/irqchip/irq-pic32-evic.c                        |  2 +-
drivers/mmc/host/sdhci-pic32.c                          |  2 +-
drivers/pinctrl/pinctrl-pic32.c                         |  3 +--
drivers/rtc/rtc-pic32.c                                 |  3 +--
drivers/tty/serial/pic32_uart.c                         |  3 +--
drivers/watchdog/pic32-dmt.c                            |  3 +--
drivers/watchdog/pic32-wdt.c                            |  3 +--
.../mach-pic32 => include/linux/platform_data}/pic32.h  | 17 ++++++++++-------
15 files changed, 31 insertions(+), 26 deletions(-)
[PATCH v2 00/16] MIPS: move pic32.h header file from asm to platform_data
Posted by Brian Masney 3 weeks, 5 days ago
There are currently some pic32 MIPS drivers that are in tree, and are
only configured to be compiled on the MIPS pic32 platform. There's a
risk of breaking some of these drivers when migrating drivers away from
legacy APIs. It happened to me with a pic32 clk driver.

Let's go ahead and move the pic32.h from the asm to the platform_data
include directory in the tree. This will make it easier, and cleaner to
enable COMPILE_TEST for some of these pic32 drivers. To do this requires
updating some includes, which I do at the beginning of this series.

This series was compile tested on a centos-stream-10 arm64 host in two
different configurations:

- native arm64 build with COMPILE_TEST (via make allmodconfig)
- MIPS cross compile on arm64 with:
      ARCH=mips CROSS_COMPILE=mips64-linux-gnu- make pic32mzda_defconfig

Note that there is a separate MIPS compile error in linux-next, and I
reported it at https://lore.kernel.org/all/aWVs2gVB418WiMVa@redhat.com/

I included a patch at the end that shows enabling COMPILE_TEST for a
pic32 clk driver.

Merge Strategy
==============
- Patches 1-15 can go through the MIPS tree.
- Patch 16 I can repost to Claudiu after patches 1-15 are in Linus's
  tree after the next merge window. There is a separate patch set that
  fixes a compiler error I unintentionally introduced via the clk tree.
  https://lore.kernel.org/linux-clk/CABx5tq+eOocJ41X-GSgkGy6S+s+Am1yCS099wqP695NtwALTmg@mail.gmail.com/T/

Signed-off-by: Brian Masney <bmasney@redhat.com>
---
Changes in v2:
- Fix native MIPS build by updating include files
- Link to v1: https://lore.kernel.org/r/20260109-mips-pic32-header-move-v1-0-99859c55783d@redhat.com

---
Brian Masney (16):
      MIPS: pic32: include linux/io.h header on several files
      MIPS: pic32: include linux/types.h on pic32.h
      MIPS: pic32: drop unused include linux/io.h from pic32.h
      MIPS: copy pic32.h header file from asm/mach-pic32/ to include/platform-data/
      MAINTAINERS: add include/linux/platform_data/pic32.h to MIPS entry
      MIPS: update include to use pic32.h from platform_data
      clk: microchip: core: update include to use pic32.h from platform_data
      irqchip/irq-pic32-evic: update include to use pic32.h from platform_data
      mmc: sdhci-pic32: update include to use pic32.h from platform_data
      pinctrl: pic32: update include to use pic32.h from platform_data
      rtc: pic32: update include to use pic32.h from platform_data
      serial: pic32_uart: update include to use pic32.h from platform_data
      watchdog: pic32-dmt: update include to use pic32.h from platform_data
      watchdog: pic32-wdt: update include to use pic32.h from platform_data
      MIPS: drop unused pic32.h header
      clk: microchip: core: allow driver to be compiled with COMPILE_TEST

 MAINTAINERS                                             |  1 +
 arch/mips/pic32/common/reset.c                          |  3 ++-
 arch/mips/pic32/pic32mzda/config.c                      |  3 +--
 arch/mips/pic32/pic32mzda/early_clk.c                   |  3 ++-
 arch/mips/pic32/pic32mzda/early_console.c               |  3 ++-
 drivers/clk/microchip/Kconfig                           |  2 +-
 drivers/clk/microchip/clk-core.c                        |  6 +++++-
 drivers/irqchip/irq-pic32-evic.c                        |  2 +-
 drivers/mmc/host/sdhci-pic32.c                          |  2 +-
 drivers/pinctrl/pinctrl-pic32.c                         |  3 +--
 drivers/rtc/rtc-pic32.c                                 |  3 +--
 drivers/tty/serial/pic32_uart.c                         |  3 +--
 drivers/watchdog/pic32-dmt.c                            |  3 +--
 drivers/watchdog/pic32-wdt.c                            |  3 +--
 .../mach-pic32 => include/linux/platform_data}/pic32.h  | 17 ++++++++++-------
 15 files changed, 31 insertions(+), 26 deletions(-)
---
base-commit: f417b7ffcbef7d76b0d8860518f50dae0e7e5eda
change-id: 20260109-mips-pic32-header-move-6ac9965aa70a

Best regards,
-- 
Brian Masney <bmasney@redhat.com>
Re: [PATCH v2 00/16] MIPS: move pic32.h header file from asm to platform_data
Posted by Brian Masney 2 weeks, 1 day ago
Hi Thomas,

On Mon, Jan 12, 2026 at 05:47:54PM -0500, Brian Masney wrote:
> There are currently some pic32 MIPS drivers that are in tree, and are
> only configured to be compiled on the MIPS pic32 platform. There's a
> risk of breaking some of these drivers when migrating drivers away from
> legacy APIs. It happened to me with a pic32 clk driver.
> 
> Let's go ahead and move the pic32.h from the asm to the platform_data
> include directory in the tree. This will make it easier, and cleaner to
> enable COMPILE_TEST for some of these pic32 drivers. To do this requires
> updating some includes, which I do at the beginning of this series.
> 
> This series was compile tested on a centos-stream-10 arm64 host in two
> different configurations:
> 
> - native arm64 build with COMPILE_TEST (via make allmodconfig)
> - MIPS cross compile on arm64 with:
>       ARCH=mips CROSS_COMPILE=mips64-linux-gnu- make pic32mzda_defconfig
> 
> Note that there is a separate MIPS compile error in linux-next, and I
> reported it at https://lore.kernel.org/all/aWVs2gVB418WiMVa@redhat.com/
> 
> I included a patch at the end that shows enabling COMPILE_TEST for a
> pic32 clk driver.
> 
> Merge Strategy
> ==============
> - Patches 1-15 can go through the MIPS tree.

I'm just checking if you'll be able to take patches 1-15 this
development cycle before the merge window opens?

If this series goes to Linus during this upcoming merge window, then
I have 17 patches ready to post in a month for the next development
cycle that can go to various individual subsystems that allows all
of these pic32 MIPS drivers to be compiled on all architectures. The
patches also fix some issues in those drivers that were found by
kernel CI.

This merge strategy makes it so that we won't have to deal with any
cross tree merge issues, or immutable branches.

Thanks,

Brian
Re: [PATCH v2 00/16] MIPS: move pic32.h header file from asm to platform_data
Posted by Thomas Bogendoerfer 1 week, 1 day ago
On Mon, Jan 12, 2026 at 05:47:54PM -0500, Brian Masney wrote:
> There are currently some pic32 MIPS drivers that are in tree, and are
> only configured to be compiled on the MIPS pic32 platform. There's a
> risk of breaking some of these drivers when migrating drivers away from
> legacy APIs. It happened to me with a pic32 clk driver.
> 
> Let's go ahead and move the pic32.h from the asm to the platform_data
> include directory in the tree. This will make it easier, and cleaner to
> enable COMPILE_TEST for some of these pic32 drivers. To do this requires
> updating some includes, which I do at the beginning of this series.
> 
> This series was compile tested on a centos-stream-10 arm64 host in two
> different configurations:
> 
> - native arm64 build with COMPILE_TEST (via make allmodconfig)
> - MIPS cross compile on arm64 with:
>       ARCH=mips CROSS_COMPILE=mips64-linux-gnu- make pic32mzda_defconfig
> 
> Note that there is a separate MIPS compile error in linux-next, and I
> reported it at https://lore.kernel.org/all/aWVs2gVB418WiMVa@redhat.com/
> 
> I included a patch at the end that shows enabling COMPILE_TEST for a
> pic32 clk driver.
> 
> Merge Strategy
> ==============
> - Patches 1-15 can go through the MIPS tree.
> - Patch 16 I can repost to Claudiu after patches 1-15 are in Linus's
>   tree after the next merge window. There is a separate patch set that
>   fixes a compiler error I unintentionally introduced via the clk tree.
>   https://lore.kernel.org/linux-clk/CABx5tq+eOocJ41X-GSgkGy6S+s+Am1yCS099wqP695NtwALTmg@mail.gmail.com/T/
> 
> Signed-off-by: Brian Masney <bmasney@redhat.com>
> ---
> Changes in v2:
> - Fix native MIPS build by updating include files
> - Link to v1: https://lore.kernel.org/r/20260109-mips-pic32-header-move-v1-0-99859c55783d@redhat.com
> 
> ---
> Brian Masney (16):
>       MIPS: pic32: include linux/io.h header on several files
>       MIPS: pic32: include linux/types.h on pic32.h
>       MIPS: pic32: drop unused include linux/io.h from pic32.h
>       MIPS: copy pic32.h header file from asm/mach-pic32/ to include/platform-data/
>       MAINTAINERS: add include/linux/platform_data/pic32.h to MIPS entry
>       MIPS: update include to use pic32.h from platform_data
>       clk: microchip: core: update include to use pic32.h from platform_data
>       irqchip/irq-pic32-evic: update include to use pic32.h from platform_data
>       mmc: sdhci-pic32: update include to use pic32.h from platform_data
>       pinctrl: pic32: update include to use pic32.h from platform_data
>       rtc: pic32: update include to use pic32.h from platform_data
>       serial: pic32_uart: update include to use pic32.h from platform_data
>       watchdog: pic32-dmt: update include to use pic32.h from platform_data
>       watchdog: pic32-wdt: update include to use pic32.h from platform_data
>       MIPS: drop unused pic32.h header
>       clk: microchip: core: allow driver to be compiled with COMPILE_TEST
> 
>  MAINTAINERS                                             |  1 +
>  arch/mips/pic32/common/reset.c                          |  3 ++-
>  arch/mips/pic32/pic32mzda/config.c                      |  3 +--
>  arch/mips/pic32/pic32mzda/early_clk.c                   |  3 ++-
>  arch/mips/pic32/pic32mzda/early_console.c               |  3 ++-
>  drivers/clk/microchip/Kconfig                           |  2 +-
>  drivers/clk/microchip/clk-core.c                        |  6 +++++-
>  drivers/irqchip/irq-pic32-evic.c                        |  2 +-
>  drivers/mmc/host/sdhci-pic32.c                          |  2 +-
>  drivers/pinctrl/pinctrl-pic32.c                         |  3 +--
>  drivers/rtc/rtc-pic32.c                                 |  3 +--
>  drivers/tty/serial/pic32_uart.c                         |  3 +--
>  drivers/watchdog/pic32-dmt.c                            |  3 +--
>  drivers/watchdog/pic32-wdt.c                            |  3 +--
>  .../mach-pic32 => include/linux/platform_data}/pic32.h  | 17 ++++++++++-------
>  15 files changed, 31 insertions(+), 26 deletions(-)
> ---
> base-commit: f417b7ffcbef7d76b0d8860518f50dae0e7e5eda
> change-id: 20260109-mips-pic32-header-move-6ac9965aa70a

series applied to mips-next
Thomas.

-- 
Crap can work. Given enough thrust pigs will fly, but it's not necessarily a
good idea.                                                [ RFC1925, 2.3 ]