Skip to content
This repository was archived by the owner on Nov 8, 2023. It is now read-only.

Commit a5db8e4

Browse files
committed
Merge tag 'soc-arm-6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc
Pull arm SoC platform updates from Arnd Bergmann: "The majority of the updates here are Dmitry Torokhov's cleanups for platform code in the pxa and tegra platforms, changing custom platform_data structures into DT-compatible software node declarations. The other updates are for the MAINTAINERS file, correcting some stale or missing entries" * tag 'soc-arm-6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: ARM: pxa: fix build breakage on PXA3xx ti: omap: MAINTAINERS: move Benoît Cousson to CREDITS amazon: MAINTAINERS: change to odd fixes and Tsahee Zidenberg to CREDITS MAINTAINERS: thead: add git tree ARM: spitz: Use software nodes for the ADS7846 touchscreen ARM: spitz: Use software nodes to describe LED GPIOs ARM: spitz: Use software nodes to describe MMC GPIOs ARM: spitz: Use software nodes to describe LCD GPIOs ARM: spitz: Use software nodes to describe audio GPIOs ARM: spitz: Use software nodes to describe SPI CS lines ARM: spitz: Simplify instantiating SPI controller ARM: pxa/gumstix: convert vbus gpio to use software nodes ARM: pxa: consolidate GPIO chip platform data ARM: spitz: fix GPIO assignment for backlight ARM: tegra: paz00: Use software nodes to describe GPIOs for WiFi rfkill MAINTAINERS: ARM: airoha: add entry to cover Airoha SoC bus: vexpress-config: Add missing MODULE_DESCRIPTION() macro arm64: layerscape: remove redundant EDAC_SUPPORT selection dt-bindings: arm: Remove obsolete RTSM DCSCB binding arm: vexpress: Remove obsolete RTSM DCSCB support
2 parents a9a4cd9 + dead06c commit a5db8e4

File tree

18 files changed

+264
-440
lines changed

18 files changed

+264
-440
lines changed

CREDITS

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -796,6 +796,11 @@ E: luisfcorreia@gmail.com
796796
D: Ralink rt2x00 WLAN driver
797797
S: Belas, Portugal
798798

799+
N: Benoît Cousson
800+
E: bcousson@baylibre.com
801+
D: TI OMAP Devicetree platforms
802+
D: TI OMAP HWMOD boards
803+
799804
N: Alan Cox
800805
W: http://www.linux.org.uk/diary/
801806
D: Linux Networking (0.99.10->2.0.29)
@@ -4368,6 +4373,10 @@ N: Haojian Zhuang
43684373
E: haojian.zhuang@gmail.com
43694374
D: MMP support
43704375

4376+
N: Tsahee Zidenberg
4377+
E: tsahee@annapurnalabs.com
4378+
D: Annapurna Labs Alpine Architecture
4379+
43714380
N: Richard Zidlicky
43724381
E: rz@linux-m68k.org, rdzidlic@geocities.com
43734382
W: http://www.geocities.com/rdzidlic

Documentation/devicetree/bindings/arm/rtsm-dcscb.txt

Lines changed: 0 additions & 19 deletions
This file was deleted.

MAINTAINERS

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1887,6 +1887,15 @@ F: include/dt-bindings/reset/actions,*
18871887
F: include/linux/soc/actions/
18881888
N: owl
18891889

1890+
ARM/AIROHA SOC SUPPORT
1891+
M: Matthias Brugger <matthias.bgg@gmail.com>
1892+
M: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
1893+
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
1894+
L: linux-mediatek@lists.infradead.org (moderated for non-subscribers)
1895+
S: Odd Fixes
1896+
F: arch/arm/boot/dts/airoha/
1897+
F: arch/arm64/boot/dts/airoha/
1898+
18901899
ARM/Allwinner SoC Clock Support
18911900
M: Emilio López <emilio@elopez.com.ar>
18921901
S: Maintained
@@ -1974,10 +1983,9 @@ F: drivers/soc/amlogic/
19741983
N: meson
19751984

19761985
ARM/Annapurna Labs ALPINE ARCHITECTURE
1977-
M: Tsahee Zidenberg <tsahee@annapurnalabs.com>
19781986
M: Antoine Tenart <atenart@kernel.org>
19791987
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
1980-
S: Maintained
1988+
S: Odd Fixes
19811989
F: arch/arm/boot/dts/amazon/
19821990
F: arch/arm/mach-alpine/
19831991
F: arch/arm64/boot/dts/amazon/
@@ -16414,7 +16422,6 @@ S: Maintained
1641416422
F: arch/arm/*omap*/*clock*
1641516423

1641616424
OMAP DEVICE TREE SUPPORT
16417-
M: Benoît Cousson <bcousson@baylibre.com>
1641816425
M: Tony Lindgren <tony@atomide.com>
1641916426
L: linux-omap@vger.kernel.org
1642016427
L: devicetree@vger.kernel.org
@@ -16469,7 +16476,6 @@ S: Maintained
1646916476
F: arch/arm/mach-omap2/omap_hwmod*data*
1647016477

1647116478
OMAP HWMOD SUPPORT
16472-
M: Benoît Cousson <bcousson@baylibre.com>
1647316479
M: Paul Walmsley <paul@pwsan.com>
1647416480
L: linux-omap@vger.kernel.org
1647516481
S: Maintained
@@ -19416,6 +19422,7 @@ F: arch/riscv/boot/dts/
1941619422
X: arch/riscv/boot/dts/allwinner/
1941719423
X: arch/riscv/boot/dts/renesas/
1941819424
X: arch/riscv/boot/dts/sophgo/
19425+
X: arch/riscv/boot/dts/thead/
1941919426

1942019427
RISC-V PMU DRIVERS
1942119428
M: Atish Patra <atishp@atishpatra.org>
@@ -19432,6 +19439,7 @@ M: Guo Ren <guoren@kernel.org>
1943219439
M: Fu Wei <wefu@redhat.com>
1943319440
L: linux-riscv@lists.infradead.org
1943419441
S: Maintained
19442+
T: git https://github.com/pdp7/linux.git
1943519443
F: arch/riscv/boot/dts/thead/
1943619444

1943719445
RNBD BLOCK DRIVERS

arch/arm/configs/vexpress_defconfig

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ CONFIG_CPUSETS=y
1414
CONFIG_BLK_DEV_INITRD=y
1515
CONFIG_PROFILING=y
1616
CONFIG_ARCH_VEXPRESS=y
17-
CONFIG_ARCH_VEXPRESS_DCSCB=y
1817
CONFIG_ARCH_VEXPRESS_TC2_PM=y
1918
CONFIG_SMP=y
2019
CONFIG_HAVE_ARM_ARCH_TIMER=y

arch/arm/mach-pxa/devices.c

Lines changed: 39 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
#include <linux/clk-provider.h>
88
#include <linux/dma-mapping.h>
99
#include <linux/dmaengine.h>
10+
#include <linux/gpio-pxa.h>
1011
#include <linux/platform_data/i2c-pxa.h>
1112
#include <linux/soc/pxa/cpu.h>
1213

@@ -17,6 +18,7 @@
1718
#include <linux/platform_data/usb-ohci-pxa27x.h>
1819
#include <linux/platform_data/mmp_dma.h>
1920

21+
#include "mfp-pxa2xx.h"
2022
#include "regs-ost.h"
2123
#include "reset.h"
2224
#include "devices.h"
@@ -46,7 +48,7 @@ struct platform_device pxa_device_pmu = {
4648
.num_resources = 1,
4749
};
4850

49-
static struct resource pxamci_resources[] = {
51+
static const struct resource pxamci_resources[] = {
5052
[0] = {
5153
.start = 0x41100000,
5254
.end = 0x41100fff,
@@ -59,22 +61,26 @@ static struct resource pxamci_resources[] = {
5961
},
6062
};
6163

62-
static u64 pxamci_dmamask = 0xffffffffUL;
63-
64-
struct platform_device pxa_device_mci = {
65-
.name = "pxa2xx-mci",
66-
.id = 0,
67-
.dev = {
68-
.dma_mask = &pxamci_dmamask,
69-
.coherent_dma_mask = 0xffffffff,
70-
},
71-
.num_resources = ARRAY_SIZE(pxamci_resources),
72-
.resource = pxamci_resources,
73-
};
74-
75-
void __init pxa_set_mci_info(struct pxamci_platform_data *info)
64+
void __init pxa_set_mci_info(const struct pxamci_platform_data *info,
65+
const struct property_entry *props)
7666
{
77-
pxa_register_device(&pxa_device_mci, info);
67+
const struct platform_device_info mci_info = {
68+
.name = "pxa2xx-mci",
69+
.id = 0,
70+
.res = pxamci_resources,
71+
.num_res = ARRAY_SIZE(pxamci_resources),
72+
.data = info,
73+
.size_data = sizeof(*info),
74+
.dma_mask = 0xffffffffUL,
75+
.properties = props,
76+
};
77+
struct platform_device *mci_dev;
78+
int err;
79+
80+
mci_dev = platform_device_register_full(&mci_info);
81+
err = PTR_ERR_OR_ZERO(mci_dev);
82+
if (err)
83+
pr_err("Unable to create mci device: %d\n", err);
7884
}
7985

8086
static struct pxa2xx_udc_mach_info pxa_udc_info = {
@@ -627,6 +633,11 @@ struct platform_device pxa27x_device_pwm1 = {
627633
};
628634
#endif /* CONFIG_PXA27x || CONFIG_PXA3xx */
629635

636+
#if defined(CONFIG_PXA25x) || defined(CONFIG_PXA27x)
637+
const struct software_node pxa2xx_gpiochip_node = {
638+
.name = "gpio-pxa",
639+
};
640+
630641
struct resource pxa_resource_gpio[] = {
631642
{
632643
.start = 0x40e00000,
@@ -650,19 +661,31 @@ struct resource pxa_resource_gpio[] = {
650661
},
651662
};
652663

664+
static struct pxa_gpio_platform_data pxa2xx_gpio_info = {
665+
.irq_base = PXA_GPIO_TO_IRQ(0),
666+
.gpio_set_wake = gpio_set_wake,
667+
};
668+
653669
struct platform_device pxa25x_device_gpio = {
654670
.name = "pxa25x-gpio",
655671
.id = -1,
656672
.num_resources = ARRAY_SIZE(pxa_resource_gpio),
657673
.resource = pxa_resource_gpio,
674+
.dev = {
675+
.platform_data = &pxa2xx_gpio_info,
676+
},
658677
};
659678

660679
struct platform_device pxa27x_device_gpio = {
661680
.name = "pxa27x-gpio",
662681
.id = -1,
663682
.num_resources = ARRAY_SIZE(pxa_resource_gpio),
664683
.resource = pxa_resource_gpio,
684+
.dev = {
685+
.platform_data = &pxa2xx_gpio_info,
686+
},
665687
};
688+
#endif /* CONFIG_PXA25x || CONFIG_PXA27x */
666689

667690
static struct resource pxa_dma_resource[] = {
668691
[0] = {

arch/arm/mach-pxa/devices.h

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
struct mmp_dma_platdata;
55

66
extern struct platform_device pxa_device_pmu;
7-
extern struct platform_device pxa_device_mci;
87
extern struct platform_device pxa3xx_device_mci2;
98
extern struct platform_device pxa3xx_device_mci3;
109
extern struct platform_device pxa25x_device_udc;
@@ -53,8 +52,8 @@ extern struct platform_device pxa_device_asoc_ssp4;
5352

5453
extern struct platform_device pxa25x_device_gpio;
5554
extern struct platform_device pxa27x_device_gpio;
56-
extern struct platform_device pxa3xx_device_gpio;
57-
extern struct platform_device pxa93x_device_gpio;
55+
56+
extern const struct software_node pxa2xx_gpiochip_node;
5857

5958
void __init pxa_register_device(struct platform_device *dev, void *data);
6059
void __init pxa2xx_set_dmac_info(struct mmp_dma_platdata *dma_pdata);

arch/arm/mach-pxa/gumstix.c

Lines changed: 10 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ static struct pxamci_platform_data gumstix_mci_platform_data = {
9090

9191
static void __init gumstix_mmc_init(void)
9292
{
93-
pxa_set_mci_info(&gumstix_mci_platform_data);
93+
pxa_set_mci_info(&gumstix_mci_platform_data, NULL);
9494
}
9595
#else
9696
static void __init gumstix_mmc_init(void)
@@ -100,26 +100,22 @@ static void __init gumstix_mmc_init(void)
100100
#endif
101101

102102
#ifdef CONFIG_USB_PXA25X
103-
static struct gpiod_lookup_table gumstix_gpio_vbus_gpiod_table = {
104-
.dev_id = "gpio-vbus",
105-
.table = {
106-
GPIO_LOOKUP("gpio-pxa", GPIO_GUMSTIX_USB_GPIOn,
107-
"vbus", GPIO_ACTIVE_HIGH),
108-
GPIO_LOOKUP("gpio-pxa", GPIO_GUMSTIX_USB_GPIOx,
109-
"pullup", GPIO_ACTIVE_HIGH),
110-
{ },
111-
},
103+
static const struct property_entry spitz_mci_props[] __initconst = {
104+
PROPERTY_ENTRY_GPIO("vbus-gpios", &pxa2xx_gpiochip_node,
105+
GPIO_GUMSTIX_USB_GPIOn, GPIO_ACTIVE_HIGH),
106+
PROPERTY_ENTRY_GPIO("pullup-gpios", &pxa2xx_gpiochip_node,
107+
GPIO_GUMSTIX_USB_GPIOx, GPIO_ACTIVE_HIGH),
108+
{ }
112109
};
113110

114-
static struct platform_device gumstix_gpio_vbus = {
111+
static const struct platform_device_info gumstix_gpio_vbus_info __initconst = {
115112
.name = "gpio-vbus",
116-
.id = -1,
113+
.id = PLATFORM_DEVID_NONE,
117114
};
118115

119116
static void __init gumstix_udc_init(void)
120117
{
121-
gpiod_add_lookup_table(&gumstix_gpio_vbus_gpiod_table);
122-
platform_device_register(&gumstix_gpio_vbus);
118+
platform_device_register_full(&gumstix_gpio_vbus_info);
123119
}
124120
#else
125121
static void gumstix_udc_init(void)

arch/arm/mach-pxa/pxa25x.c

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -178,12 +178,8 @@ void __init pxa25x_map_io(void)
178178
pxa25x_get_clk_frequency_khz(1);
179179
}
180180

181-
static struct pxa_gpio_platform_data pxa25x_gpio_info __initdata = {
182-
.irq_base = PXA_GPIO_TO_IRQ(0),
183-
.gpio_set_wake = gpio_set_wake,
184-
};
185-
186181
static struct platform_device *pxa25x_devices[] __initdata = {
182+
&pxa25x_device_gpio,
187183
&pxa25x_device_udc,
188184
&pxa_device_pmu,
189185
&pxa_device_i2s,
@@ -243,8 +239,8 @@ static int __init pxa25x_init(void)
243239
register_syscore_ops(&pxa2xx_mfp_syscore_ops);
244240

245241
if (!of_have_populated_dt()) {
242+
software_node_register(&pxa2xx_gpiochip_node);
246243
pxa2xx_set_dmac_info(&pxa25x_dma_pdata);
247-
pxa_register_device(&pxa25x_device_gpio, &pxa25x_gpio_info);
248244
ret = platform_add_devices(pxa25x_devices,
249245
ARRAY_SIZE(pxa25x_devices));
250246
}

arch/arm/mach-pxa/pxa27x.c

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -276,12 +276,8 @@ void __init pxa27x_set_i2c_power_info(struct i2c_pxa_platform_data *info)
276276
pxa_register_device(&pxa27x_device_i2c_power, info);
277277
}
278278

279-
static struct pxa_gpio_platform_data pxa27x_gpio_info __initdata = {
280-
.irq_base = PXA_GPIO_TO_IRQ(0),
281-
.gpio_set_wake = gpio_set_wake,
282-
};
283-
284279
static struct platform_device *devices[] __initdata = {
280+
&pxa27x_device_gpio,
285281
&pxa27x_device_udc,
286282
&pxa_device_pmu,
287283
&pxa_device_i2s,
@@ -345,8 +341,7 @@ static int __init pxa27x_init(void)
345341
register_syscore_ops(&pxa2xx_mfp_syscore_ops);
346342

347343
if (!of_have_populated_dt()) {
348-
pxa_register_device(&pxa27x_device_gpio,
349-
&pxa27x_gpio_info);
344+
software_node_register(&pxa2xx_gpiochip_node);
350345
pxa2xx_set_dmac_info(&pxa27x_dma_pdata);
351346
ret = platform_add_devices(devices,
352347
ARRAY_SIZE(devices));

0 commit comments

Comments
 (0)