2019-04-04 08:14:09

by Jan Kotas

[permalink] [raw]
Subject: [PATCH] soundwire: cdns: Fix compilation error on arm64

On arm64 the cadence_master.c file doesn't compile.

readl and writel are undefined.
This patch fixes that by including io.h.

Signed-off-by: Jan Kotas <[email protected]>
---
drivers/soundwire/cadence_master.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/soundwire/cadence_master.c b/drivers/soundwire/cadence_master.c
index cb6a331f4..0b5bcc209 100644
--- a/drivers/soundwire/cadence_master.c
+++ b/drivers/soundwire/cadence_master.c
@@ -9,6 +9,7 @@
#include <linux/delay.h>
#include <linux/device.h>
#include <linux/interrupt.h>
+#include <linux/io.h>
#include <linux/module.h>
#include <linux/mod_devicetable.h>
#include <linux/soundwire/sdw_registers.h>
--
2.15.0


2019-04-04 09:55:15

by Mukesh Ojha

[permalink] [raw]
Subject: Re: [PATCH] soundwire: cdns: Fix compilation error on arm64


On 4/4/2019 1:42 PM, Jan Kotas wrote:
> On arm64 the cadence_master.c file doesn't compile.
>
> readl and writel are undefined.
> This patch fixes that by including io.h.
>
> Signed-off-by: Jan Kotas <[email protected]>
Reviewed-by: Mukesh Ojha <[email protected]>

Cheers,
-Mukesh
> ---
> drivers/soundwire/cadence_master.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/soundwire/cadence_master.c b/drivers/soundwire/cadence_master.c
> index cb6a331f4..0b5bcc209 100644
> --- a/drivers/soundwire/cadence_master.c
> +++ b/drivers/soundwire/cadence_master.c
> @@ -9,6 +9,7 @@
> #include <linux/delay.h>
> #include <linux/device.h>
> #include <linux/interrupt.h>
> +#include <linux/io.h>
> #include <linux/module.h>
> #include <linux/mod_devicetable.h>
> #include <linux/soundwire/sdw_registers.h>

2019-04-14 09:46:23

by Vinod Koul

[permalink] [raw]
Subject: Re: [PATCH] soundwire: cdns: Fix compilation error on arm64

On 04-04-19, 09:12, Jan Kotas wrote:
> On arm64 the cadence_master.c file doesn't compile.
>
> readl and writel are undefined.
> This patch fixes that by including io.h.

And I cant verify that without hacking kconfig to force compile the lib.

>
> Signed-off-by: Jan Kotas <[email protected]>
> ---
> drivers/soundwire/cadence_master.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/soundwire/cadence_master.c b/drivers/soundwire/cadence_master.c
> index cb6a331f4..0b5bcc209 100644
> --- a/drivers/soundwire/cadence_master.c
> +++ b/drivers/soundwire/cadence_master.c
> @@ -9,6 +9,7 @@
> #include <linux/delay.h>
> #include <linux/device.h>
> #include <linux/interrupt.h>
> +#include <linux/io.h>

Why not add asm/io.h which is the header that actually defines
readl/writel?

> #include <linux/module.h>
> #include <linux/mod_devicetable.h>
> #include <linux/soundwire/sdw_registers.h>
> --
> 2.15.0

--
~Vinod

2019-04-15 12:42:29

by Pierre-Louis Bossart

[permalink] [raw]
Subject: Re: [alsa-devel] [PATCH] soundwire: cdns: Fix compilation error on arm64


>> diff --git a/drivers/soundwire/cadence_master.c b/drivers/soundwire/cadence_master.c
>> index cb6a331f4..0b5bcc209 100644
>> --- a/drivers/soundwire/cadence_master.c
>> +++ b/drivers/soundwire/cadence_master.c
>> @@ -9,6 +9,7 @@
>> #include <linux/delay.h>
>> #include <linux/device.h>
>> #include <linux/interrupt.h>
>> +#include <linux/io.h>
>
> Why not add asm/io.h which is the header that actually defines
> readl/writel?

The vast majority of kernel code uses linux/io.h.
We use linux/io.h for SOF as well.

>
>> #include <linux/module.h>
>> #include <linux/mod_devicetable.h>
>> #include <linux/soundwire/sdw_registers.h>
>> --
>> 2.15.0
>

2019-04-16 08:46:42

by Jan Kotas

[permalink] [raw]
Subject: Re: [alsa-devel] [PATCH] soundwire: cdns: Fix compilation error on arm64

> On 14 Apr 2019, at 11:44, Vinod Koul <[email protected]> wrote:
>
>
> On 04-04-19, 09:12, Jan Kotas wrote:
>> On arm64 the cadence_master.c file doesn't compile.
>>
>> readl and writel are undefined.
>> This patch fixes that by including io.h.
>
> And I cant verify that without hacking kconfig to force compile the lib.

I’m working on a new driver which uses the SOUNDWIRE_CADENCE:
Here’s a diff of the Kconfig, it’s a very early stage.

diff --git a/drivers/soundwire/Kconfig b/drivers/soundwire/Kconfig
index 19c8efb9a..90d569e03 100644
--- a/drivers/soundwire/Kconfig
+++ b/drivers/soundwire/Kconfig
@@ -34,4 +34,10 @@ config SOUNDWIRE_INTEL
enable this config option to get the SoundWire support for that
device.

+config SOUNDWIRE_CADENCE_PLATFORM
+ tristate "SoundWire Cadence Platform driver"
+ select SOUNDWIRE_CADENCE
+ select SOUNDWIRE_BUS
+ help
+ SoundWire Cadence Platform drivers.
endif

I haven’t modified any of the existing lines.
SOUNDWIRE_CADENCE doesn’t depend on anything, except SOUNDWIRE,
so it should work, when selected.

> On 15 Apr 2019, at 14:41, Pierre-Louis Bossart <[email protected]> wrote:
>
>
>>> diff --git a/drivers/soundwire/cadence_master.c b/drivers/soundwire/cadence_master.c
>>> index cb6a331f4..0b5bcc209 100644
>>> --- a/drivers/soundwire/cadence_master.c
>>> +++ b/drivers/soundwire/cadence_master.c
>>> @@ -9,6 +9,7 @@
>>> #include <linux/delay.h>
>>> #include <linux/device.h>
>>> #include <linux/interrupt.h>
>>> +#include <linux/io.h>
>> Why not add asm/io.h which is the header that actually defines
>> readl/writel?
>
> The vast majority of kernel code uses linux/io.h.
> We use linux/io.h for SOF as well.

I use linux/io.h in my other drivers too.

>
>>> #include <linux/module.h>
>>> #include <linux/mod_devicetable.h>
>>> #include <linux/soundwire/sdw_registers.h>
>>> --
>>> 2.15.0

2019-05-09 07:04:43

by Jan Kotas

[permalink] [raw]
Subject: Re: [alsa-devel] [PATCH] soundwire: cdns: Fix compilation error on arm64

Hello,

Is there a reason for not accepting this patch?
Do you want me to change anything in v2?

Regards,
Jan

> On 16 Apr 2019, at 10:43, Jan Kotas <[email protected]> wrote:
>
>> On 14 Apr 2019, at 11:44, Vinod Koul <[email protected]> wrote:
>>
>>
>> On 04-04-19, 09:12, Jan Kotas wrote:
>>> On arm64 the cadence_master.c file doesn't compile.
>>>
>>> readl and writel are undefined.
>>> This patch fixes that by including io.h.
>>
>> And I cant verify that without hacking kconfig to force compile the lib.
>
> I’m working on a new driver which uses the SOUNDWIRE_CADENCE:
> Here’s a diff of the Kconfig, it’s a very early stage.
>
> diff --git a/drivers/soundwire/Kconfig b/drivers/soundwire/Kconfig
> index 19c8efb9a..90d569e03 100644
> --- a/drivers/soundwire/Kconfig
> +++ b/drivers/soundwire/Kconfig
> @@ -34,4 +34,10 @@ config SOUNDWIRE_INTEL
> enable this config option to get the SoundWire support for that
> device.
>
> +config SOUNDWIRE_CADENCE_PLATFORM
> + tristate "SoundWire Cadence Platform driver"
> + select SOUNDWIRE_CADENCE
> + select SOUNDWIRE_BUS
> + help
> + SoundWire Cadence Platform drivers.
> endif
>
> I haven’t modified any of the existing lines.
> SOUNDWIRE_CADENCE doesn’t depend on anything, except SOUNDWIRE,
> so it should work, when selected.
>
>> On 15 Apr 2019, at 14:41, Pierre-Louis Bossart <[email protected]> wrote:
>>
>>
>>>> diff --git a/drivers/soundwire/cadence_master.c b/drivers/soundwire/cadence_master.c
>>>> index cb6a331f4..0b5bcc209 100644
>>>> --- a/drivers/soundwire/cadence_master.c
>>>> +++ b/drivers/soundwire/cadence_master.c
>>>> @@ -9,6 +9,7 @@
>>>> #include <linux/delay.h>
>>>> #include <linux/device.h>
>>>> #include <linux/interrupt.h>
>>>> +#include <linux/io.h>
>>> Why not add asm/io.h which is the header that actually defines
>>> readl/writel?
>>
>> The vast majority of kernel code uses linux/io.h.
>> We use linux/io.h for SOF as well.
>
> I use linux/io.h in my other drivers too.
>
>>
>>>> #include <linux/module.h>
>>>> #include <linux/mod_devicetable.h>
>>>> #include <linux/soundwire/sdw_registers.h>
>>>> --
>>>> 2.15.0

2019-05-27 05:09:46

by Vinod Koul

[permalink] [raw]
Subject: Re: [PATCH] soundwire: cdns: Fix compilation error on arm64

On 04-04-19, 09:12, Jan Kotas wrote:
> On arm64 the cadence_master.c file doesn't compile.
>
> readl and writel are undefined.
> This patch fixes that by including io.h.

Applied, thanks

--
~Vinod