[PATCH 2/4] pwm: Add Apple PWM controller

Hector Martin marcan at marcan.st
Fri Oct 28 23:25:30 PDT 2022


On 29/10/2022 04.49, Krzysztof Kozlowski wrote:
> On 28/10/2022 14:51, Sasha Finkelstein wrote:
>> On Fri, 28 Oct 2022 at 20:54, Krzysztof Kozlowski
>> <krzysztof.kozlowski at linaro.org> wrote:
>>>
>>> On 28/10/2022 12:52, Sasha Finkelstein wrote:
>>>> +config PWM_APPLE
>>>> +     tristate "Apple SoC PWM support"
>>>> +     depends on ARCH_APPLE || (COMPILE_TEST && 64BIT)
>>>
>>> Why this code cannot be build on 32-bit?
>> It uses 64-bit divisions, which causes it to fail to build on 32-bit
>> mips. It should not be a
>> problem, since this hardware is only present on 64-bit SoCs.
> 
> Does not matter, code should be portable and buildable on 32-bit. If it
> does not build then your code is not correct.

This statement does not apply in general. There are plenty of drivers
which cannot reasonably build for 32-bit, and make no sense because no
32-bit hardware exists that could use them. Examples include anything
that accesses 64-bit registers on 64-bit SoCs the normal way, and
further anything that touches CPU stuff like system registers.

In *this* case, if the only issue is some 64-bit math, then yes, it
should be made to build on 32-bit (especially since this is likely to
also work for older 32-bit Apple SoCs). But the (COMPILE_TEST && 64BIT)
pattern is definitely valid in other cases, and I've been adding it
lately to shut up the kernel test bot since it makes no sense to compile
test a whole pile of our drivers on 32-bit architectures - they
fundamentally can't compile without adding pointless hypothetical broken
fluff to the driver like split MMIO accesses (which often can't work on
real hardware), and it serves no purpose.


- Hector



More information about the linux-arm-kernel mailing list