Skip to content

Commit 18032df

Browse files
committed
Merge tag 'soc-arm-6.4' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc
Pull ARM SoC updates from Arnd Bergmann: "The Oxford Semiconductor OX810/OX820 'Oxnas' platform gets retired after the ARM11MPcore processor keeps causing problems in certain corner cases. OX820 was the only remaining SoC with this core after CNS3xxx got retired, and its driver support was never completely merged upstream. The Arm 'Realview' reference platform still supports ARM11MPCore in principle, but this was never a product, and the CPU support will get cleaned up later on. Another series updates the mv78xx0 platform, which has been similarly neglected for a while, but should work properly again now. The other changes are minor cleanups across platforms, mostly converting code to more modern interfaces for DT nodes and removing some more code as a follow-up to the large-scale platform removal in linux-6.3" * tag 'soc-arm-6.4' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (28 commits) ARM: mv78xx0: fix entries for gpios, buttons and usb ports ARM: mv78xx0: add code to enable XOR and CRYPTO engines on mv78xx0 ARM: mv78xx0: set the correct driver for the i2c RTC ARM: mv78xx0: adjust init logic for ts-wxl to reflect single core dev soc: fsl: Use of_property_present() for testing DT property presence ARM: pxa: Use of_property_read_bool() for boolean properties firmware: turris-mox-rwtm: make kobj_type structure constant ARM: oxnas: remove OXNAS support ARM: sh-mobile: Use of_cpu_node_to_id() to read CPU node 'reg' ARM: OMAP2+: hwmod: Use kzalloc for allocating only one element ARM: OMAP2+: Remove the unneeded result variable ARM: OMAP2+: fix repeated words in comments ARM: OMAP2+: remove obsolete config OMAP3_SDRC_AC_TIMING ARM: OMAP2+: Use of_address_to_resource() ARM: OMAP2+: Use of_property_read_bool() for boolean properties ARM: omap1: remove redundant variables err ARM: omap1: Kconfig: Fix indentation ARM: bcm: Use of_address_to_resource() ARM: mstar: remove unused config MACH_MERCURY ARM: spear: remove obsolete config MACH_SPEAR600 ...
2 parents de10553 + bd2c0c4 commit 18032df

File tree

39 files changed

+167
-345
lines changed

39 files changed

+167
-345
lines changed

arch/arm/Kconfig

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -497,8 +497,6 @@ source "arch/arm/mach-omap2/Kconfig"
497497

498498
source "arch/arm/mach-orion5x/Kconfig"
499499

500-
source "arch/arm/mach-oxnas/Kconfig"
501-
502500
source "arch/arm/mach-pxa/Kconfig"
503501

504502
source "arch/arm/mach-qcom/Kconfig"

arch/arm/Makefile

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -203,7 +203,6 @@ machine-$(CONFIG_ARCH_MSTARV7) += mstar
203203
machine-$(CONFIG_ARCH_NOMADIK) += nomadik
204204
machine-$(CONFIG_ARCH_NPCM) += npcm
205205
machine-$(CONFIG_ARCH_NSPIRE) += nspire
206-
machine-$(CONFIG_ARCH_OXNAS) += oxnas
207206
machine-$(CONFIG_ARCH_OMAP1) += omap1
208207
machine-$(CONFIG_ARCH_OMAP2PLUS) += omap2
209208
machine-$(CONFIG_ARCH_ORION5X) += orion5x

arch/arm/common/locomo.c

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -494,16 +494,14 @@ static int locomo_probe(struct platform_device *dev)
494494
return __locomo_probe(&dev->dev, mem, irq);
495495
}
496496

497-
static int locomo_remove(struct platform_device *dev)
497+
static void locomo_remove(struct platform_device *dev)
498498
{
499499
struct locomo *lchip = platform_get_drvdata(dev);
500500

501501
if (lchip) {
502502
__locomo_remove(lchip);
503503
platform_set_drvdata(dev, NULL);
504504
}
505-
506-
return 0;
507505
}
508506

509507
/*
@@ -514,7 +512,7 @@ static int locomo_remove(struct platform_device *dev)
514512
*/
515513
static struct platform_driver locomo_device_driver = {
516514
.probe = locomo_probe,
517-
.remove = locomo_remove,
515+
.remove_new = locomo_remove,
518516
#ifdef CONFIG_PM
519517
.suspend = locomo_suspend,
520518
.resume = locomo_resume,

arch/arm/common/sa1111.c

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1123,7 +1123,7 @@ static int sa1111_probe(struct platform_device *pdev)
11231123
return __sa1111_probe(&pdev->dev, mem, irq);
11241124
}
11251125

1126-
static int sa1111_remove(struct platform_device *pdev)
1126+
static void sa1111_remove(struct platform_device *pdev)
11271127
{
11281128
struct sa1111 *sachip = platform_get_drvdata(pdev);
11291129

@@ -1135,8 +1135,6 @@ static int sa1111_remove(struct platform_device *pdev)
11351135
__sa1111_remove(sachip);
11361136
platform_set_drvdata(pdev, NULL);
11371137
}
1138-
1139-
return 0;
11401138
}
11411139

11421140
static struct dev_pm_ops sa1111_pm_ops = {
@@ -1155,7 +1153,7 @@ static struct dev_pm_ops sa1111_pm_ops = {
11551153
*/
11561154
static struct platform_driver sa1111_device_driver = {
11571155
.probe = sa1111_probe,
1158-
.remove = sa1111_remove,
1156+
.remove_new = sa1111_remove,
11591157
.driver = {
11601158
.name = "sa1111",
11611159
.pm = &sa1111_pm_ops,

arch/arm/common/scoop.c

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -236,7 +236,7 @@ static int scoop_probe(struct platform_device *pdev)
236236
return ret;
237237
}
238238

239-
static int scoop_remove(struct platform_device *pdev)
239+
static void scoop_remove(struct platform_device *pdev)
240240
{
241241
struct scoop_dev *sdev = platform_get_drvdata(pdev);
242242

@@ -246,13 +246,11 @@ static int scoop_remove(struct platform_device *pdev)
246246
platform_set_drvdata(pdev, NULL);
247247
iounmap(sdev->base);
248248
kfree(sdev);
249-
250-
return 0;
251249
}
252250

253251
static struct platform_driver scoop_driver = {
254252
.probe = scoop_probe,
255-
.remove = scoop_remove,
253+
.remove_new = scoop_remove,
256254
.suspend = scoop_suspend,
257255
.resume = scoop_resume,
258256
.driver = {

arch/arm/mach-bcm/bcm_kona_smc.c

Lines changed: 6 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -31,34 +31,23 @@ static const struct of_device_id bcm_kona_smc_ids[] __initconst = {
3131
int __init bcm_kona_smc_init(void)
3232
{
3333
struct device_node *node;
34-
const __be32 *prop_val;
35-
u64 prop_size = 0;
36-
unsigned long buffer_size;
37-
u32 buffer_phys;
34+
struct resource res;
35+
int ret;
3836

3937
/* Read buffer addr and size from the device tree node */
4038
node = of_find_matching_node(NULL, bcm_kona_smc_ids);
4139
if (!node)
4240
return -ENODEV;
4341

44-
prop_val = of_get_address(node, 0, &prop_size, NULL);
42+
ret = of_address_to_resource(node, 0, &res);
4543
of_node_put(node);
46-
if (!prop_val)
44+
if (ret)
4745
return -EINVAL;
4846

49-
/* We assume space for four 32-bit arguments */
50-
if (prop_size < 4 * sizeof(u32) || prop_size > (u64)ULONG_MAX)
51-
return -EINVAL;
52-
buffer_size = (unsigned long)prop_size;
53-
54-
buffer_phys = be32_to_cpup(prop_val);
55-
if (!buffer_phys)
56-
return -EINVAL;
57-
58-
bcm_smc_buffer = ioremap(buffer_phys, buffer_size);
47+
bcm_smc_buffer = ioremap(res.start, resource_size(&res));
5948
if (!bcm_smc_buffer)
6049
return -ENOMEM;
61-
bcm_smc_buffer_phys = buffer_phys;
50+
bcm_smc_buffer_phys = res.start;
6251

6352
pr_info("Kona Secure API initialized\n");
6453

arch/arm/mach-exynos/exynos.c

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,11 +50,13 @@ void __init exynos_sysram_init(void)
5050
struct device_node *node;
5151

5252
for_each_compatible_node(node, NULL, "samsung,exynos4210-sysram") {
53+
struct resource res;
5354
if (!of_device_is_available(node))
5455
continue;
55-
sysram_base_addr = of_iomap(node, 0);
56-
sysram_base_phys = of_translate_address(node,
57-
of_get_address(node, 0, NULL, NULL));
56+
57+
of_address_to_resource(node, 0, &res);
58+
sysram_base_addr = ioremap(res.start, resource_size(&res));
59+
sysram_base_phys = res.start;
5860
of_node_put(node);
5961
break;
6062
}

arch/arm/mach-exynos/suspend.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -667,7 +667,7 @@ void __init exynos_pm_init(void)
667667
return;
668668
}
669669

670-
if (WARN_ON(!of_find_property(np, "interrupt-controller", NULL))) {
670+
if (WARN_ON(!of_property_read_bool(np, "interrupt-controller"))) {
671671
pr_warn("Outdated DT detected, suspend/resume will NOT work\n");
672672
of_node_put(np);
673673
return;

arch/arm/mach-imx/gpc.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -275,7 +275,7 @@ void __init imx_gpc_check_dt(void)
275275
if (WARN_ON(!np))
276276
return;
277277

278-
if (WARN_ON(!of_find_property(np, "interrupt-controller", NULL))) {
278+
if (WARN_ON(!of_property_read_bool(np, "interrupt-controller"))) {
279279
pr_warn("Outdated DT detected, suspend/resume will NOT work\n");
280280

281281
/* map GPC, so that at least CPUidle and WARs keep working */

arch/arm/mach-imx/mach-imx6q.c

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ static void __init imx6q_enet_phy_init(void)
7979
static void __init imx6q_1588_init(void)
8080
{
8181
struct device_node *np;
82-
struct clk *ptp_clk;
82+
struct clk *ptp_clk, *fec_enet_ref;
8383
struct clk *enet_ref;
8484
struct regmap *gpr;
8585
u32 clksel;
@@ -90,6 +90,14 @@ static void __init imx6q_1588_init(void)
9090
return;
9191
}
9292

93+
/*
94+
* If enet_clk_ref configured, we assume DT did it properly and .
95+
* clk-imx6q.c will do needed configuration.
96+
*/
97+
fec_enet_ref = of_clk_get_by_name(np, "enet_clk_ref");
98+
if (!IS_ERR(fec_enet_ref))
99+
goto put_node;
100+
93101
ptp_clk = of_clk_get(np, 2);
94102
if (IS_ERR(ptp_clk)) {
95103
pr_warn("%s: failed to get ptp clock\n", __func__);

0 commit comments

Comments
 (0)