[PATCH v4 5/8] irqchip/imx-irqsteer: add NXP S32N79 support

Thomas Gleixner tglx at kernel.org
Mon Mar 9 02:23:31 PDT 2026


On Fri, Mar 06 2026 at 17:15, Ciprian Costea wrote:
> +/* SoC does not implement the CHANCTRL register */
> +#define IRQSTEER_QUIRK_NO_CHANCTRL	BIT(0)
> +
> +struct irqsteer_devtype_data {
> +	u32 quirks;
> +};
> +
>  struct irqsteer_data {
>  	void __iomem		*regs;
>  	struct clk		*ipg_clk;
> @@ -37,8 +44,22 @@ struct irqsteer_data {
>  	struct irq_domain	*domain;
>  	u32			*saved_reg;
>  	struct device		*dev;
> +	const struct irqsteer_devtype_data *devtype_data;

The struct was perfectly tabular formatted before....

https://www.kernel.org/doc/html/latest/process/maintainer-tip.html#struct-declarations-and-initializers

>  };
>  
> +static const struct irqsteer_devtype_data imx_data = {
> +	.quirks = 0,
> +};
> +
> +static const struct irqsteer_devtype_data s32n79_data = {
> +	.quirks = IRQSTEER_QUIRK_NO_CHANCTRL,
> +};
> +
> +static bool irqsteer_has_chanctrl(const struct irqsteer_devtype_data *data)
> +{
> +	return !(data->quirks & IRQSTEER_QUIRK_NO_CHANCTRL);
> +}
> +
>  static int imx_irqsteer_get_reg_index(struct irqsteer_data *data,
>  				      unsigned long irqnum)
>  {
> @@ -188,6 +209,10 @@ static int imx_irqsteer_probe(struct platform_device *pdev)
>  	if (ret)
>  		return ret;
>  
> +	data->devtype_data = device_get_match_data(&pdev->dev);
> +	if (!data->devtype_data)
> +		return dev_err_probe(&pdev->dev, -ENODEV,
> +				"failed to match device data\n");

No point for this line break. You have 100 characters. If you have the
line break, then this needs curly brackets. See the bracket rules in the
above linked document.

>  static const struct of_device_id imx_irqsteer_dt_ids[] = {
> -	{ .compatible = "fsl,imx-irqsteer", },
> +	{ .compatible = "fsl,imx-irqsteer", .data = &imx_data },
> +	{ .compatible = "nxp,s32n79-irqsteer", .data = &s32n79_data },

Tabular layout please for readability sake.

Thanks,

        tglx



More information about the linux-arm-kernel mailing list