diff options
-rw-r--r-- | drivers/platform/x86/pmc_atom.c | 43 |
1 files changed, 10 insertions, 33 deletions
diff --git a/drivers/platform/x86/pmc_atom.c b/drivers/platform/x86/pmc_atom.c index b1d804376237..2104e1ad38d9 100644 --- a/drivers/platform/x86/pmc_atom.c +++ b/drivers/platform/x86/pmc_atom.c | |||
@@ -350,45 +350,24 @@ static int pmc_sleep_tmr_show(struct seq_file *s, void *unused) | |||
350 | 350 | ||
351 | DEFINE_SHOW_ATTRIBUTE(pmc_sleep_tmr); | 351 | DEFINE_SHOW_ATTRIBUTE(pmc_sleep_tmr); |
352 | 352 | ||
353 | static void pmc_dbgfs_unregister(struct pmc_dev *pmc) | 353 | static void pmc_dbgfs_register(struct pmc_dev *pmc) |
354 | { | 354 | { |
355 | debugfs_remove_recursive(pmc->dbgfs_dir); | 355 | struct dentry *dir; |
356 | } | ||
357 | |||
358 | static int pmc_dbgfs_register(struct pmc_dev *pmc) | ||
359 | { | ||
360 | struct dentry *dir, *f; | ||
361 | 356 | ||
362 | dir = debugfs_create_dir("pmc_atom", NULL); | 357 | dir = debugfs_create_dir("pmc_atom", NULL); |
363 | if (!dir) | ||
364 | return -ENOMEM; | ||
365 | 358 | ||
366 | pmc->dbgfs_dir = dir; | 359 | pmc->dbgfs_dir = dir; |
367 | 360 | ||
368 | f = debugfs_create_file("dev_state", S_IFREG | S_IRUGO, | 361 | debugfs_create_file("dev_state", S_IFREG | S_IRUGO, dir, pmc, |
369 | dir, pmc, &pmc_dev_state_fops); | 362 | &pmc_dev_state_fops); |
370 | if (!f) | 363 | debugfs_create_file("pss_state", S_IFREG | S_IRUGO, dir, pmc, |
371 | goto err; | 364 | &pmc_pss_state_fops); |
372 | 365 | debugfs_create_file("sleep_state", S_IFREG | S_IRUGO, dir, pmc, | |
373 | f = debugfs_create_file("pss_state", S_IFREG | S_IRUGO, | 366 | &pmc_sleep_tmr_fops); |
374 | dir, pmc, &pmc_pss_state_fops); | ||
375 | if (!f) | ||
376 | goto err; | ||
377 | |||
378 | f = debugfs_create_file("sleep_state", S_IFREG | S_IRUGO, | ||
379 | dir, pmc, &pmc_sleep_tmr_fops); | ||
380 | if (!f) | ||
381 | goto err; | ||
382 | |||
383 | return 0; | ||
384 | err: | ||
385 | pmc_dbgfs_unregister(pmc); | ||
386 | return -ENODEV; | ||
387 | } | 367 | } |
388 | #else | 368 | #else |
389 | static int pmc_dbgfs_register(struct pmc_dev *pmc) | 369 | static void pmc_dbgfs_register(struct pmc_dev *pmc) |
390 | { | 370 | { |
391 | return 0; | ||
392 | } | 371 | } |
393 | #endif /* CONFIG_DEBUG_FS */ | 372 | #endif /* CONFIG_DEBUG_FS */ |
394 | 373 | ||
@@ -500,9 +479,7 @@ static int pmc_setup_dev(struct pci_dev *pdev, const struct pci_device_id *ent) | |||
500 | /* PMC hardware registers setup */ | 479 | /* PMC hardware registers setup */ |
501 | pmc_hw_reg_setup(pmc); | 480 | pmc_hw_reg_setup(pmc); |
502 | 481 | ||
503 | ret = pmc_dbgfs_register(pmc); | 482 | pmc_dbgfs_register(pmc); |
504 | if (ret) | ||
505 | dev_warn(&pdev->dev, "debugfs register failed\n"); | ||
506 | 483 | ||
507 | /* Register platform clocks - PMC_PLT_CLK [0..5] */ | 484 | /* Register platform clocks - PMC_PLT_CLK [0..5] */ |
508 | ret = pmc_setup_clks(pdev, pmc->regmap, data); | 485 | ret = pmc_setup_clks(pdev, pmc->regmap, data); |