[PATCH 2/3] reset: Add Apple SoC CIO reset driver
Joshua Peisach
jpeisach at ubuntu.com
Sun Aug 9 10:13:18 PDT 2026
On Sun Aug 9, 2026 at 11:20 AM EDT, Sven Peter wrote:
> On 09.08.26 16:30, Joshua Peisach wrote:
>> On Sun Aug 9, 2026 at 8:16 AM EDT, Sven Peter wrote:
>>> Add a driver for the reset of the CIO (USB4/Thunderbolt) blocks on
>>> Apple Silicon SoCs which has to be deasserted before their
>>> co-processor can be booted. On t8103 each port comes with a dedicated
>>> register page while t600x uses a single register with one request bit
>>> per port shared by all ports of a die inside the PMGR MMIO region.
>>>
>>> Signed-off-by: Sven Peter <sven at kernel.org>
>>> ---
>>> MAINTAINERS | 1 +
>>> drivers/reset/Kconfig | 10 +++
>>> drivers/reset/Makefile | 1 +
>>> drivers/reset/reset-apple-cio.c | 182 +++++++++++++++++++++++++++++++
>>> +++++++++
>>> 4 files changed, 194 insertions(+)
>>
>>> +
>>> +static int apple_cio_reset_probe(struct platform_device *pdev)
>>> +{
>>> + struct device *dev = &pdev->dev;
>>> + struct apple_cio_reset *priv;
>>> + int ret;
>>> +
>>> + priv = devm_kzalloc(dev, sizeof(*priv), GFP_KERNEL);
>>> + if (!priv)
>>> + return -ENOMEM;
>>> +
>>> + priv->variant = of_device_get_match_data(dev);
>>
>> Might be a dumb question, but does priv->variant also need to be
>> checked? Because later priv->variant->pmgr_child is and I *think*
>> it could return NULL.
>>
>> (Or is this not necessary since in theory the device should only run
>> this if detected... so this should never be an issue?)
>
> You might be able to get this driver to probe without a device tree node
> by manually forcing it with sysfs but well... play stupid games, win
> stupid prizes.
> Adding the check is just two lines and doesn't hurt though.
Meh, not worth the extra lines of instruction. FAFO for the curious.
More information about the linux-arm-kernel
mailing list