On Wed, May 20, 2026 at 04:27:57PM +0200, Gregor Herburger wrote:
> The Raspberry Pi firmware exposes two regions with otp registers. The
> first region called "customer otp" is available on all Raspberry Pi
> models. The second is only available on the Raspberry Pi 5 (bcm2712).
> 
> Signed-off-by: Gregor Herburger <[email protected]>

Reviewed-by: Thomas Weißschuh <[email protected]>

> ---
>  drivers/firmware/raspberrypi.c             | 59 
> +++++++++++++++++++++++++++++-
>  include/soc/bcm2835/raspberrypi-firmware.h |  5 +++
>  2 files changed, 63 insertions(+), 1 deletion(-)

(...)

> +static void rpi_register_otp_driver(struct device *dev)
> +{
> +     struct rpi_firmware *fw = dev_get_drvdata(dev);
> +
> +     rpi_otp_customer = platform_device_register_data(dev, "raspberrypi-otp",
> +                                                      PLATFORM_DEVID_AUTO,
> +                                                      &rpi_otp_customer_data,
> +                                                      
> sizeof(rpi_otp_customer_data));
> +
> +     if (IS_ERR(rpi_otp_customer))
> +             dev_err(dev, "Failed to register customer OTP device: %ld\n",
> +                     PTR_ERR(rpi_otp_customer));

These should use %pe which will nicely format the error.
This also differs from the other subdevice registrations which do not
print a message on error.

> +
> +     if (fw->soc == RPI_FIRMWARE_SOC_BCM2712) {
> +             rpi_otp_private = platform_device_register_data(dev, 
> "raspberrypi-otp",
> +                                                             
> PLATFORM_DEVID_AUTO,
> +                                                             
> &rpi_otp_private_data,
> +                                                             
> sizeof(rpi_otp_private_data));
> +
> +             if (IS_ERR(rpi_otp_private))
> +                     dev_err(dev, "Failed to register private OTP device: 
> %ld\n",
> +                             PTR_ERR(rpi_otp_private));
> +     }
> +}

(...)

Reply via email to