diff mbox

drivers/edac: NO_IRQ removal from powerpc-only drivers

Message ID 1473501428-8217-1-git-send-email-mpe@ellerman.id.au (mailing list archive)
State Not Applicable
Headers show

Commit Message

Michael Ellerman Sept. 10, 2016, 9:57 a.m. UTC
We'd like to eventually remove NO_IRQ on powerpc, so remove usages of it
from powerpc-only drivers.

Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
---
 drivers/edac/mpc85xx_edac.c | 6 +++---
 drivers/edac/mv64x60_edac.c | 8 ++++----
 drivers/edac/ppc4xx_edac.c  | 6 +++---
 3 files changed, 10 insertions(+), 10 deletions(-)

Comments

Borislav Petkov Sept. 10, 2016, 2:53 p.m. UTC | #1
On Sat, Sep 10, 2016 at 07:57:08PM +1000, Michael Ellerman wrote:
> We'd like to eventually remove NO_IRQ on powerpc, so remove usages of it
> from powerpc-only drivers.
> 
> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
> ---
>  drivers/edac/mpc85xx_edac.c | 6 +++---
>  drivers/edac/mv64x60_edac.c | 8 ++++----
>  drivers/edac/ppc4xx_edac.c  | 6 +++---
>  3 files changed, 10 insertions(+), 10 deletions(-)
> 
> diff --git a/drivers/edac/mpc85xx_edac.c b/drivers/edac/mpc85xx_edac.c
> index ca63d0da8889..e12b8e166a53 100644
> --- a/drivers/edac/mpc85xx_edac.c
> +++ b/drivers/edac/mpc85xx_edac.c
> @@ -267,7 +267,7 @@ static int mpc85xx_pci_err_probe(struct platform_device *op)
>  
>  	pdata = pci->pvt_info;
>  	pdata->name = "mpc85xx_pci_err";
> -	pdata->irq = NO_IRQ;
> +	pdata->irq = 0;
>  
>  	plat_data = op->dev.platform_data;
>  	if (!plat_data) {

So all of those pdata structs come from kzalloc() so you don't really
have to assign to 0 - simply kill the line.

> @@ -588,7 +588,7 @@ static int mpc85xx_l2_err_probe(struct platform_device *op)
>  
>  	pdata = edac_dev->pvt_info;
>  	pdata->name = "mpc85xx_l2_err";
> -	pdata->irq = NO_IRQ;
> +	pdata->irq = 0;
>  	edac_dev->dev = &op->dev;
>  	dev_set_drvdata(edac_dev->dev, edac_dev);
>  	edac_dev->ctl_name = pdata->name;
> @@ -1058,7 +1058,7 @@ static int mpc85xx_mc_err_probe(struct platform_device *op)
>  
>  	pdata = mci->pvt_info;
>  	pdata->name = "mpc85xx_mc_err";
> -	pdata->irq = NO_IRQ;
> +	pdata->irq = 0;
>  	mci->pdev = &op->dev;
>  	pdata->edac_idx = edac_mc_idx++;
>  	dev_set_drvdata(mci->pdev, mci);

That part went into drivers/edac/fsl_ddr_edac.c which is only the
freescale memory controller being shared between ARM and PPC, see

http://git.kernel.org/cgit/linux/kernel/git/bp/bp.git/log/?h=for-next

But that shouldn't change the issue wrt ->irq as now it is implicitly 0.

IOW, you can drop this hunk.

Please send v2 against the above branch or linux-next.

Thanks.
Michael Ellerman Sept. 12, 2016, 4:47 a.m. UTC | #2
Borislav Petkov <bp@alien8.de> writes:

> On Sat, Sep 10, 2016 at 07:57:08PM +1000, Michael Ellerman wrote:
>> We'd like to eventually remove NO_IRQ on powerpc, so remove usages of it
>> from powerpc-only drivers.
>> 
>> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
>> ---
>>  drivers/edac/mpc85xx_edac.c | 6 +++---
>>  drivers/edac/mv64x60_edac.c | 8 ++++----
>>  drivers/edac/ppc4xx_edac.c  | 6 +++---
>>  3 files changed, 10 insertions(+), 10 deletions(-)
>> 
>> diff --git a/drivers/edac/mpc85xx_edac.c b/drivers/edac/mpc85xx_edac.c
>> index ca63d0da8889..e12b8e166a53 100644
>> --- a/drivers/edac/mpc85xx_edac.c
>> +++ b/drivers/edac/mpc85xx_edac.c
>> @@ -267,7 +267,7 @@ static int mpc85xx_pci_err_probe(struct platform_device *op)
>>  
>>  	pdata = pci->pvt_info;
>>  	pdata->name = "mpc85xx_pci_err";
>> -	pdata->irq = NO_IRQ;
>> +	pdata->irq = 0;
>>  
>>  	plat_data = op->dev.platform_data;
>>  	if (!plat_data) {
>
> So all of those pdata structs come from kzalloc() so you don't really
> have to assign to 0 - simply kill the line.

OK.

>> @@ -1058,7 +1058,7 @@ static int mpc85xx_mc_err_probe(struct platform_device *op)
>>  
>>  	pdata = mci->pvt_info;
>>  	pdata->name = "mpc85xx_mc_err";
>> -	pdata->irq = NO_IRQ;
>> +	pdata->irq = 0;
>>  	mci->pdev = &op->dev;
>>  	pdata->edac_idx = edac_mc_idx++;
>>  	dev_set_drvdata(mci->pdev, mci);
>
> That part went into drivers/edac/fsl_ddr_edac.c which is only the
> freescale memory controller being shared between ARM and PPC, see
>
> http://git.kernel.org/cgit/linux/kernel/git/bp/bp.git/log/?h=for-next
>
> But that shouldn't change the issue wrt ->irq as now it is implicitly 0.

Ah OK.

NO_IRQ is -1 on ARM (or at least it can be?), see arch/arm/include/asm/irq.h.

So I'll leave that one alone for now.

> IOW, you can drop this hunk.
>
> Please send v2 against the above branch or linux-next.

OK will do.

cheers
Arnd Bergmann Sept. 12, 2016, 7:36 a.m. UTC | #3
On Monday, September 12, 2016 2:47:37 PM CEST Michael Ellerman wrote:
> >> @@ -1058,7 +1058,7 @@ static int mpc85xx_mc_err_probe(struct platform_device *op)
> >>  
> >>      pdata = mci->pvt_info;
> >>      pdata->name = "mpc85xx_mc_err";
> >> -    pdata->irq = NO_IRQ;
> >> +    pdata->irq = 0;
> >>      mci->pdev = &op->dev;
> >>      pdata->edac_idx = edac_mc_idx++;
> >>      dev_set_drvdata(mci->pdev, mci);
> >
> > That part went into drivers/edac/fsl_ddr_edac.c which is only the
> > freescale memory controller being shared between ARM and PPC, see
> >
> > http://git.kernel.org/cgit/linux/kernel/git/bp/bp.git/log/?h=for-next
> >
> > But that shouldn't change the issue wrt ->irq as now it is implicitly 0.
> 
> Ah OK.
> 
> NO_IRQ is -1 on ARM (or at least it can be?), see arch/arm/include/asm/irq.h.
> 
> So I'll leave that one alone for now.

I don't think there is any way to build the mpc85xx on ARM, it depends
on the powerpc-specific "FSL_SOC" symbol and it uses the in_be32/out_be32
MMIO helpers that are not defined on ARM.

I've sent patches to remove all uses of NO_IRQ that happen on ARM.
Please remove this instance too.

	Arnd
Michael Ellerman Sept. 12, 2016, 9:57 a.m. UTC | #4
Arnd Bergmann <arnd@arndb.de> writes:

> On Monday, September 12, 2016 2:47:37 PM CEST Michael Ellerman wrote:
>> >> @@ -1058,7 +1058,7 @@ static int mpc85xx_mc_err_probe(struct platform_device *op)
>> >>  
>> >>      pdata = mci->pvt_info;
>> >>      pdata->name = "mpc85xx_mc_err";
>> >> -    pdata->irq = NO_IRQ;
>> >> +    pdata->irq = 0;
>> >>      mci->pdev = &op->dev;
>> >>      pdata->edac_idx = edac_mc_idx++;
>> >>      dev_set_drvdata(mci->pdev, mci);
>> >
>> > That part went into drivers/edac/fsl_ddr_edac.c which is only the
>> > freescale memory controller being shared between ARM and PPC, see
>> >
>> > http://git.kernel.org/cgit/linux/kernel/git/bp/bp.git/log/?h=for-next
>> >
>> > But that shouldn't change the issue wrt ->irq as now it is implicitly 0.
>> 
>> Ah OK.
>> 
>> NO_IRQ is -1 on ARM (or at least it can be?), see arch/arm/include/asm/irq.h.
>> 
>> So I'll leave that one alone for now.
>
> I don't think there is any way to build the mpc85xx on ARM, it depends
> on the powerpc-specific "FSL_SOC" symbol and it uses the in_be32/out_be32
> MMIO helpers that are not defined on ARM.

Yeah you're right. The common code between powerpc and arm64 is in
fsl_ddr_edac.c, not mpc85xx_edac.c. There are no uses of NO_IRQ

Will send a v2 with all uses removed from drivers/edac.

cheers
diff mbox

Patch

diff --git a/drivers/edac/mpc85xx_edac.c b/drivers/edac/mpc85xx_edac.c
index ca63d0da8889..e12b8e166a53 100644
--- a/drivers/edac/mpc85xx_edac.c
+++ b/drivers/edac/mpc85xx_edac.c
@@ -267,7 +267,7 @@  static int mpc85xx_pci_err_probe(struct platform_device *op)
 
 	pdata = pci->pvt_info;
 	pdata->name = "mpc85xx_pci_err";
-	pdata->irq = NO_IRQ;
+	pdata->irq = 0;
 
 	plat_data = op->dev.platform_data;
 	if (!plat_data) {
@@ -588,7 +588,7 @@  static int mpc85xx_l2_err_probe(struct platform_device *op)
 
 	pdata = edac_dev->pvt_info;
 	pdata->name = "mpc85xx_l2_err";
-	pdata->irq = NO_IRQ;
+	pdata->irq = 0;
 	edac_dev->dev = &op->dev;
 	dev_set_drvdata(edac_dev->dev, edac_dev);
 	edac_dev->ctl_name = pdata->name;
@@ -1058,7 +1058,7 @@  static int mpc85xx_mc_err_probe(struct platform_device *op)
 
 	pdata = mci->pvt_info;
 	pdata->name = "mpc85xx_mc_err";
-	pdata->irq = NO_IRQ;
+	pdata->irq = 0;
 	mci->pdev = &op->dev;
 	pdata->edac_idx = edac_mc_idx++;
 	dev_set_drvdata(mci->pdev, mci);
diff --git a/drivers/edac/mv64x60_edac.c b/drivers/edac/mv64x60_edac.c
index 6c54127e6eae..69c559189490 100644
--- a/drivers/edac/mv64x60_edac.c
+++ b/drivers/edac/mv64x60_edac.c
@@ -118,7 +118,7 @@  static int mv64x60_pci_err_probe(struct platform_device *pdev)
 
 	pdata->pci_hose = pdev->id;
 	pdata->name = "mpc85xx_pci_err";
-	pdata->irq = NO_IRQ;
+	pdata->irq = 0;
 	platform_set_drvdata(pdev, pci);
 	pci->dev = &pdev->dev;
 	pci->dev_name = dev_name(&pdev->dev);
@@ -291,7 +291,7 @@  static int mv64x60_sram_err_probe(struct platform_device *pdev)
 
 	pdata = edac_dev->pvt_info;
 	pdata->name = "mv64x60_sram_err";
-	pdata->irq = NO_IRQ;
+	pdata->irq = 0;
 	edac_dev->dev = &pdev->dev;
 	platform_set_drvdata(pdev, edac_dev);
 	edac_dev->dev_name = dev_name(&pdev->dev);
@@ -459,7 +459,7 @@  static int mv64x60_cpu_err_probe(struct platform_device *pdev)
 
 	pdata = edac_dev->pvt_info;
 	pdata->name = "mv64x60_cpu_err";
-	pdata->irq = NO_IRQ;
+	pdata->irq = 0;
 	edac_dev->dev = &pdev->dev;
 	platform_set_drvdata(pdev, edac_dev);
 	edac_dev->dev_name = dev_name(&pdev->dev);
@@ -727,7 +727,7 @@  static int mv64x60_mc_err_probe(struct platform_device *pdev)
 	mci->pdev = &pdev->dev;
 	platform_set_drvdata(pdev, mci);
 	pdata->name = "mv64x60_mc_err";
-	pdata->irq = NO_IRQ;
+	pdata->irq = 0;
 	mci->dev_name = dev_name(&pdev->dev);
 	pdata->edac_idx = edac_mc_idx++;
 
diff --git a/drivers/edac/ppc4xx_edac.c b/drivers/edac/ppc4xx_edac.c
index d3a64ba61fa3..ee84343f660f 100644
--- a/drivers/edac/ppc4xx_edac.c
+++ b/drivers/edac/ppc4xx_edac.c
@@ -1029,8 +1029,8 @@  static int ppc4xx_edac_mc_init(struct mem_ctl_info *mci,
 	pdata			= mci->pvt_info;
 
 	pdata->dcr_host		= *dcr_host;
-	pdata->irqs.sec		= NO_IRQ;
-	pdata->irqs.ded		= NO_IRQ;
+	pdata->irqs.sec		= 0;
+	pdata->irqs.ded		= 0;
 
 	/* Initialize controller capabilities and configuration */
 
@@ -1111,7 +1111,7 @@  static int ppc4xx_edac_register_irq(struct platform_device *op,
 	ded_irq = irq_of_parse_and_map(np, INTMAP_ECCDED_INDEX);
 	sec_irq = irq_of_parse_and_map(np, INTMAP_ECCSEC_INDEX);
 
-	if (ded_irq == NO_IRQ || sec_irq == NO_IRQ) {
+	if (!ded_irq || !sec_irq) {
 		ppc4xx_edac_mc_printk(KERN_ERR, mci,
 				      "Unable to map interrupts.\n");
 		status = -ENODEV;