@@ -228,6 +228,14 @@ static const struct regmap_access_table qoriq_rd_table = {
228
228
.n_yes_ranges = ARRAY_SIZE (qoriq_yes_ranges ),
229
229
};
230
230
231
+ static void qoriq_tmu_action (void * p )
232
+ {
233
+ struct qoriq_tmu_data * data = p ;
234
+
235
+ regmap_write (data -> regmap , REGS_TMR , TMR_DISABLE );
236
+ clk_disable_unprepare (data -> clk );
237
+ }
238
+
231
239
static int qoriq_tmu_probe (struct platform_device * pdev )
232
240
{
233
241
int ret ;
@@ -278,6 +286,10 @@ static int qoriq_tmu_probe(struct platform_device *pdev)
278
286
return ret ;
279
287
}
280
288
289
+ ret = devm_add_action_or_reset (dev , qoriq_tmu_action , data );
290
+ if (ret )
291
+ return ret ;
292
+
281
293
/* version register offset at: 0xbf8 on both v1 and v2 */
282
294
ret = regmap_read (data -> regmap , REGS_IPBRR (0 ), & ver );
283
295
if (ret ) {
@@ -290,34 +302,16 @@ static int qoriq_tmu_probe(struct platform_device *pdev)
290
302
291
303
ret = qoriq_tmu_calibration (dev , data ); /* TMU calibration */
292
304
if (ret < 0 )
293
- goto err ;
305
+ return ret ;
294
306
295
307
ret = qoriq_tmu_register_tmu_zone (dev , data );
296
308
if (ret < 0 ) {
297
309
dev_err (dev , "Failed to register sensors\n" );
298
- ret = - ENODEV ;
299
- goto err ;
310
+ return ret ;
300
311
}
301
312
302
313
platform_set_drvdata (pdev , data );
303
314
304
- return 0 ;
305
-
306
- err :
307
- clk_disable_unprepare (data -> clk );
308
-
309
- return ret ;
310
- }
311
-
312
- static int qoriq_tmu_remove (struct platform_device * pdev )
313
- {
314
- struct qoriq_tmu_data * data = platform_get_drvdata (pdev );
315
-
316
- /* Disable monitoring */
317
- regmap_write (data -> regmap , REGS_TMR , TMR_DISABLE );
318
-
319
- clk_disable_unprepare (data -> clk );
320
-
321
315
return 0 ;
322
316
}
323
317
@@ -365,7 +359,6 @@ static struct platform_driver qoriq_tmu = {
365
359
.of_match_table = qoriq_tmu_match ,
366
360
},
367
361
.probe = qoriq_tmu_probe ,
368
- .remove = qoriq_tmu_remove ,
369
362
};
370
363
module_platform_driver (qoriq_tmu );
371
364
0 commit comments