[PATCH v3 1/6] rtc: zynqmp: declare dependency on arch

Tomas Melin posted 6 patches 3 weeks ago
There is a newer version of this series
[PATCH v3 1/6] rtc: zynqmp: declare dependency on arch
Posted by Tomas Melin 3 weeks ago
Driver is compatible with RTC controller found on zynqmp.
Configure dependency to enable building only when zynqmp architecture
is enabled.

Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Tomas Melin <tomas.melin@vaisala.com>
---
 drivers/rtc/Kconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/rtc/Kconfig b/drivers/rtc/Kconfig
index 2933c41c77c88e60df721fe65b9c8afb995ae51e..46b497524cbfb5d0c1662dcaddbb6d28b4ae2abe 100644
--- a/drivers/rtc/Kconfig
+++ b/drivers/rtc/Kconfig
@@ -1376,7 +1376,7 @@ config RTC_DRV_OPTEE
 
 config RTC_DRV_ZYNQMP
 	tristate "Xilinx Zynq Ultrascale+ MPSoC RTC"
-	depends on OF && HAS_IOMEM
+	depends on OF && HAS_IOMEM && ARCH_ZYNQMP
 	help
 	  If you say yes here you get support for the RTC controller found on
 	  Xilinx Zynq Ultrascale+ MPSoC.

-- 
2.47.3
Re: [PATCH v3 1/6] rtc: zynqmp: declare dependency on arch
Posted by Michal Simek 2 weeks, 5 days ago

On 1/19/26 10:51, Tomas Melin wrote:
> Driver is compatible with RTC controller found on zynqmp.
> Configure dependency to enable building only when zynqmp architecture
> is enabled.
> 
> Reported-by: kernel test robot <lkp@intel.com>
> Signed-off-by: Tomas Melin <tomas.melin@vaisala.com>
> ---
>   drivers/rtc/Kconfig | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/rtc/Kconfig b/drivers/rtc/Kconfig
> index 2933c41c77c88e60df721fe65b9c8afb995ae51e..46b497524cbfb5d0c1662dcaddbb6d28b4ae2abe 100644
> --- a/drivers/rtc/Kconfig
> +++ b/drivers/rtc/Kconfig
> @@ -1376,7 +1376,7 @@ config RTC_DRV_OPTEE
>   
>   config RTC_DRV_ZYNQMP
>   	tristate "Xilinx Zynq Ultrascale+ MPSoC RTC"
> -	depends on OF && HAS_IOMEM
> +	depends on OF && HAS_IOMEM && ARCH_ZYNQMP


    arm-linux-gnueabi-ld: drivers/rtc/rtc-zynqmp.o: in function 
`xlnx_rtc_read_offset':
 >> rtc-zynqmp.c:(.text.xlnx_rtc_read_offset+0xd0): undefined reference to 
`__aeabi_ldivmod'

You should use macros like div_u64() to fix it instead of have driver enabled 
only for ZynqMP.

M
Re: [PATCH v3 1/6] rtc: zynqmp: declare dependency on arch
Posted by Tomas Melin 2 weeks, 4 days ago
Hi,

On 21/01/2026 14:16, Michal Simek wrote:
> 
> 
> On 1/19/26 10:51, Tomas Melin wrote:
>> Driver is compatible with RTC controller found on zynqmp.
>> Configure dependency to enable building only when zynqmp architecture
>> is enabled.
>>
>> Reported-by: kernel test robot <lkp@intel.com>
>> Signed-off-by: Tomas Melin <tomas.melin@vaisala.com>
>> ---
>>   drivers/rtc/Kconfig | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/rtc/Kconfig b/drivers/rtc/Kconfig
>> index 2933c41c77c88e60df721fe65b9c8afb995ae51e..46b497524cbfb5d0c1662dcaddbb6d28b4ae2abe 100644
>> --- a/drivers/rtc/Kconfig
>> +++ b/drivers/rtc/Kconfig
>> @@ -1376,7 +1376,7 @@ config RTC_DRV_OPTEE
>>   
>>   config RTC_DRV_ZYNQMP
>>   	tristate "Xilinx Zynq Ultrascale+ MPSoC RTC"
>> -	depends on OF && HAS_IOMEM
>> +	depends on OF && HAS_IOMEM && ARCH_ZYNQMP
> 
> 
>     arm-linux-gnueabi-ld: drivers/rtc/rtc-zynqmp.o: in function 
> `xlnx_rtc_read_offset':
>  >> rtc-zynqmp.c:(.text.xlnx_rtc_read_offset+0xd0): undefined reference to 
> `__aeabi_ldivmod'
> 
> You should use macros like div_u64() to fix it instead of have driver enabled 
> only for ZynqMP.
I can do it that way if you prefer such approach.

Thanks,
Tomas


> 
> M
>
Re: [PATCH v3 1/6] rtc: zynqmp: declare dependency on arch
Posted by Michal Simek 2 weeks, 4 days ago

On 1/22/26 13:25, Tomas Melin wrote:
> Hi,
> 
> On 21/01/2026 14:16, Michal Simek wrote:
>>
>>
>> On 1/19/26 10:51, Tomas Melin wrote:
>>> Driver is compatible with RTC controller found on zynqmp.
>>> Configure dependency to enable building only when zynqmp architecture
>>> is enabled.
>>>
>>> Reported-by: kernel test robot <lkp@intel.com>
>>> Signed-off-by: Tomas Melin <tomas.melin@vaisala.com>
>>> ---
>>>    drivers/rtc/Kconfig | 2 +-
>>>    1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/drivers/rtc/Kconfig b/drivers/rtc/Kconfig
>>> index 2933c41c77c88e60df721fe65b9c8afb995ae51e..46b497524cbfb5d0c1662dcaddbb6d28b4ae2abe 100644
>>> --- a/drivers/rtc/Kconfig
>>> +++ b/drivers/rtc/Kconfig
>>> @@ -1376,7 +1376,7 @@ config RTC_DRV_OPTEE
>>>    
>>>    config RTC_DRV_ZYNQMP
>>>    	tristate "Xilinx Zynq Ultrascale+ MPSoC RTC"
>>> -	depends on OF && HAS_IOMEM
>>> +	depends on OF && HAS_IOMEM && ARCH_ZYNQMP
>>
>>
>>      arm-linux-gnueabi-ld: drivers/rtc/rtc-zynqmp.o: in function
>> `xlnx_rtc_read_offset':
>>   >> rtc-zynqmp.c:(.text.xlnx_rtc_read_offset+0xd0): undefined reference to
>> `__aeabi_ldivmod'
>>
>> You should use macros like div_u64() to fix it instead of have driver enabled
>> only for ZynqMP.
> I can do it that way if you prefer such approach.

Definitely because this driver could be called from different architectures. 
RISC-V or x86.

Thanks,
Michal
Re: [PATCH v3 1/6] rtc: zynqmp: declare dependency on arch
Posted by Michal Simek 2 weeks, 5 days ago

On 1/19/26 10:51, Tomas Melin wrote:
> Driver is compatible with RTC controller found on zynqmp.
> Configure dependency to enable building only when zynqmp architecture
> is enabled.
> 
> Reported-by: kernel test robot <lkp@intel.com>

do you have any link what exactly has been reported?

M

> Signed-off-by: Tomas Melin <tomas.melin@vaisala.com>
> ---
>   drivers/rtc/Kconfig | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/rtc/Kconfig b/drivers/rtc/Kconfig
> index 2933c41c77c88e60df721fe65b9c8afb995ae51e..46b497524cbfb5d0c1662dcaddbb6d28b4ae2abe 100644
> --- a/drivers/rtc/Kconfig
> +++ b/drivers/rtc/Kconfig
> @@ -1376,7 +1376,7 @@ config RTC_DRV_OPTEE
>   
>   config RTC_DRV_ZYNQMP
>   	tristate "Xilinx Zynq Ultrascale+ MPSoC RTC"
> -	depends on OF && HAS_IOMEM
> +	depends on OF && HAS_IOMEM && ARCH_ZYNQMP
>   	help
>   	  If you say yes here you get support for the RTC controller found on
>   	  Xilinx Zynq Ultrascale+ MPSoC.
>