@@ -148,6 +148,18 @@ struct atmel_pmecc_caps {
148148 bool correct_erased_chunks ;
149149};
150150
151+ struct atmel_pmecc {
152+ struct device * dev ;
153+ const struct atmel_pmecc_caps * caps ;
154+
155+ struct {
156+ void __iomem * base ;
157+ void __iomem * errloc ;
158+ } regs ;
159+
160+ struct mutex lock ;
161+ };
162+
151163struct atmel_pmecc_user_conf_cache {
152164 u32 cfg ;
153165 u32 sarea ;
@@ -817,8 +829,7 @@ EXPORT_SYMBOL_GPL(atmel_pmecc_wait_rdy);
817829
818830static struct atmel_pmecc * atmel_pmecc_create (struct platform_device * pdev ,
819831 const struct atmel_pmecc_caps * caps ,
820- int pmecc_res_idx , int errloc_res_idx ,
821- int timing_res_idx )
832+ int pmecc_res_idx , int errloc_res_idx )
822833{
823834 struct device * dev = & pdev -> dev ;
824835 struct atmel_pmecc * pmecc ;
@@ -842,11 +853,6 @@ static struct atmel_pmecc *atmel_pmecc_create(struct platform_device *pdev,
842853 if (IS_ERR (pmecc -> regs .errloc ))
843854 return ERR_CAST (pmecc -> regs .errloc );
844855
845- res = platform_get_resource (pdev , IORESOURCE_MEM , timing_res_idx );
846- pmecc -> regs .timing = devm_ioremap_resource (dev , res );
847- if (IS_ERR (pmecc -> regs .timing ))
848- return ERR_CAST (pmecc -> regs .timing );
849-
850856 /* Disable all interrupts before registering the PMECC handler. */
851857 writel (0xffffffff , pmecc -> regs .base + ATMEL_PMECC_IDR );
852858
@@ -954,7 +960,7 @@ struct atmel_pmecc *devm_atmel_pmecc_get(struct device *userdev)
954960 if (match && match -> data )
955961 caps = match -> data ;
956962
957- pmecc = atmel_pmecc_create (pdev , caps , 1 , 2 , 4 );
963+ pmecc = atmel_pmecc_create (pdev , caps , 1 , 2 );
958964 }
959965
960966 return pmecc ;
@@ -981,7 +987,7 @@ static int atmel_pmecc_probe(struct platform_device *pdev)
981987 return - EINVAL ;
982988 }
983989
984- pmecc = atmel_pmecc_create (pdev , caps , 0 , 1 , 2 );
990+ pmecc = atmel_pmecc_create (pdev , caps , 0 , 1 );
985991 if (IS_ERR (pmecc ))
986992 return PTR_ERR (pmecc );
987993
0 commit comments