Re: [PATCH] edac: Fix build error caused by wrong member access

From: Andrew Morton
Date: Thu Aug 21 2014 - 17:28:49 EST


On Tue, 19 Aug 2014 17:10:46 -0400 Pranith Kumar <bobby.prani@xxxxxxxxx> wrote:

> Fix the following error
>
> drivers/edac/ppc4xx_edac.c:977:45: error: request for member 'dimm' in something
> not a structure or union
>
> by changing member access to pointer dereference
>
> --- a/drivers/edac/ppc4xx_edac.c
> +++ b/drivers/edac/ppc4xx_edac.c
> @@ -974,7 +974,7 @@ static int ppc4xx_edac_init_csrows(struct mem_ctl_info *mci, u32 mcopt1)
> * page size (PAGE_SIZE) or the memory width (2 or 4).
> */
> for (j = 0; j < csi->nr_channels; j++) {
> - struct dimm_info *dimm = csi->channels[j].dimm;
> + struct dimm_info *dimm = csi->channels[j]->dimm;
>
> dimm->nr_pages = nr_pages / csi->nr_channels;
> dimm->grain = 1;

This driver seems pretty unhealthy and I suspect it has been
broken for quite a while.

drivers/edac/ppc4xx_edac.c: In function 'mfsdram':
drivers/edac/ppc4xx_edac.c:249: error: implicit declaration of function '__mfdcri'
drivers/edac/ppc4xx_edac.c: In function 'mtsdram':
drivers/edac/ppc4xx_edac.c:266: error: implicit declaration of function '__mtdcri'
drivers/edac/ppc4xx_edac.c:269: warning: 'return' with a value, in function returning void
drivers/edac/ppc4xx_edac.c: In function 'ppc4xx_edac_init_csrows':
drivers/edac/ppc4xx_edac.c:924: warning: initialization from incompatible pointer type
drivers/edac/ppc4xx_edac.c:977: error: request for member 'dimm' in something not a structure or union
drivers/edac/ppc4xx_edac.c: In function 'ppc4xx_edac_map_dcrs':
drivers/edac/ppc4xx_edac.c:1209: warning: passing argument 1 of 'dcr_map_mmio' discards qualifiers from pointer target type


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/