Commit d943a9c8 authored by Arnd Bergmann's avatar Arnd Bergmann

Merge tag 'imx-fixes-5.8-2' of...

Merge tag 'imx-fixes-5.8-2' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into arm/fixes

i.MX fixes for 5.8, round 2:

- A couple of fixes on i.MX platform device registration code to stop
  the use of invalid IRQ 0.
- Fix a regression seen on ls1021a platform, caused by commit
  52102a3b ("soc: imx: move cpu code to drivers/soc/imx").
- Fix a misconfiguration of audio SSI on imx6qdl-gw551x board.

* tag 'imx-fixes-5.8-2' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
  soc: imx: check ls1021a
  ARM: imx: Remove imx_add_imx_dma() unused irq_err argument
  ARM: imx: Provide correct number of resources when registering gpio devices
  ARM: dts: imx6qdl-gw551x: fix audio SSI

Link: https://lore.kernel.org/r/20200714145649.GP15718@dragonSigned-off-by: default avatarArnd Bergmann <arnd@arndb.de>
parents c07e902a 7f6e8dff
...@@ -110,7 +110,7 @@ sound-digital { ...@@ -110,7 +110,7 @@ sound-digital {
simple-audio-card,frame-master = <&sound_codec>; simple-audio-card,frame-master = <&sound_codec>;
sound_cpu: simple-audio-card,cpu { sound_cpu: simple-audio-card,cpu {
sound-dai = <&ssi2>; sound-dai = <&ssi1>;
}; };
sound_codec: simple-audio-card,codec { sound_codec: simple-audio-card,codec {
......
...@@ -289,6 +289,6 @@ struct platform_device *__init imx_add_spi_imx( ...@@ -289,6 +289,6 @@ struct platform_device *__init imx_add_spi_imx(
const struct spi_imx_master *pdata); const struct spi_imx_master *pdata);
struct platform_device *imx_add_imx_dma(char *name, resource_size_t iobase, struct platform_device *imx_add_imx_dma(char *name, resource_size_t iobase,
int irq, int irq_err); int irq);
struct platform_device *imx_add_imx_sdma(char *name, struct platform_device *imx_add_imx_sdma(char *name,
resource_size_t iobase, int irq, struct sdma_platform_data *pdata); resource_size_t iobase, int irq, struct sdma_platform_data *pdata);
...@@ -24,7 +24,8 @@ struct platform_device *__init mxc_register_gpio(char *name, int id, ...@@ -24,7 +24,8 @@ struct platform_device *__init mxc_register_gpio(char *name, int id,
.flags = IORESOURCE_IRQ, .flags = IORESOURCE_IRQ,
}, },
}; };
unsigned int nres;
return platform_device_register_resndata(&mxc_aips_bus, nres = irq_high ? ARRAY_SIZE(res) : ARRAY_SIZE(res) - 1;
name, id, res, ARRAY_SIZE(res), NULL, 0); return platform_device_register_resndata(&mxc_aips_bus, name, id, res, nres, NULL, 0);
} }
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
#include "devices-common.h" #include "devices-common.h"
struct platform_device __init __maybe_unused *imx_add_imx_dma(char *name, struct platform_device __init __maybe_unused *imx_add_imx_dma(char *name,
resource_size_t iobase, int irq, int irq_err) resource_size_t iobase, int irq)
{ {
struct resource res[] = { struct resource res[] = {
{ {
...@@ -17,10 +17,6 @@ struct platform_device __init __maybe_unused *imx_add_imx_dma(char *name, ...@@ -17,10 +17,6 @@ struct platform_device __init __maybe_unused *imx_add_imx_dma(char *name,
.start = irq, .start = irq,
.end = irq, .end = irq,
.flags = IORESOURCE_IRQ, .flags = IORESOURCE_IRQ,
}, {
.start = irq_err,
.end = irq_err,
.flags = IORESOURCE_IRQ,
}, },
}; };
......
...@@ -78,8 +78,7 @@ void __init imx21_soc_init(void) ...@@ -78,8 +78,7 @@ void __init imx21_soc_init(void)
mxc_register_gpio("imx21-gpio", 5, MX21_GPIO6_BASE_ADDR, SZ_256, MX21_INT_GPIO, 0); mxc_register_gpio("imx21-gpio", 5, MX21_GPIO6_BASE_ADDR, SZ_256, MX21_INT_GPIO, 0);
pinctrl_provide_dummies(); pinctrl_provide_dummies();
imx_add_imx_dma("imx21-dma", MX21_DMA_BASE_ADDR, imx_add_imx_dma("imx21-dma", MX21_DMA_BASE_ADDR, MX21_INT_DMACH0);
MX21_INT_DMACH0, 0); /* No ERR irq */
platform_device_register_simple("imx21-audmux", 0, imx21_audmux_res, platform_device_register_simple("imx21-audmux", 0, imx21_audmux_res,
ARRAY_SIZE(imx21_audmux_res)); ARRAY_SIZE(imx21_audmux_res));
} }
...@@ -79,8 +79,7 @@ void __init imx27_soc_init(void) ...@@ -79,8 +79,7 @@ void __init imx27_soc_init(void)
mxc_register_gpio("imx21-gpio", 5, MX27_GPIO6_BASE_ADDR, SZ_256, MX27_INT_GPIO, 0); mxc_register_gpio("imx21-gpio", 5, MX27_GPIO6_BASE_ADDR, SZ_256, MX27_INT_GPIO, 0);
pinctrl_provide_dummies(); pinctrl_provide_dummies();
imx_add_imx_dma("imx27-dma", MX27_DMA_BASE_ADDR, imx_add_imx_dma("imx27-dma", MX27_DMA_BASE_ADDR, MX27_INT_DMACH0);
MX27_INT_DMACH0, 0); /* No ERR irq */
/* imx27 has the imx21 type audmux */ /* imx27 has the imx21 type audmux */
platform_device_register_simple("imx21-audmux", 0, imx27_audmux_res, platform_device_register_simple("imx21-audmux", 0, imx27_audmux_res,
ARRAY_SIZE(imx27_audmux_res)); ARRAY_SIZE(imx27_audmux_res));
......
...@@ -33,6 +33,9 @@ static int __init imx_soc_device_init(void) ...@@ -33,6 +33,9 @@ static int __init imx_soc_device_init(void)
u32 val; u32 val;
int ret; int ret;
if (of_machine_is_compatible("fsl,ls1021a"))
return 0;
soc_dev_attr = kzalloc(sizeof(*soc_dev_attr), GFP_KERNEL); soc_dev_attr = kzalloc(sizeof(*soc_dev_attr), GFP_KERNEL);
if (!soc_dev_attr) if (!soc_dev_attr)
return -ENOMEM; return -ENOMEM;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment