intel-lpss.c (cf40a76e7d5874bb25f4404eecc58a2e033af885) intel-lpss.c (8425ec7faff005500aad89b9fc00e5ba91ac57b9)
1/*
2 * Intel Sunrisepoint LPSS core support.
3 *
4 * Copyright (C) 2015, Intel Corporation
5 *
6 * Authors: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
7 * Mika Westerberg <mika.westerberg@linux.intel.com>
8 * Heikki Krogerus <heikki.krogerus@linux.intel.com>

--- 436 unchanged lines hidden (view full) ---

445 LPSS_IDMA64_DRIVER_NAME);
446 }
447
448 ret = mfd_add_devices(dev, lpss->devid, lpss->cell,
449 1, info->mem, info->irq, NULL);
450 if (ret)
451 goto err_remove_ltr;
452
1/*
2 * Intel Sunrisepoint LPSS core support.
3 *
4 * Copyright (C) 2015, Intel Corporation
5 *
6 * Authors: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
7 * Mika Westerberg <mika.westerberg@linux.intel.com>
8 * Heikki Krogerus <heikki.krogerus@linux.intel.com>

--- 436 unchanged lines hidden (view full) ---

445 LPSS_IDMA64_DRIVER_NAME);
446 }
447
448 ret = mfd_add_devices(dev, lpss->devid, lpss->cell,
449 1, info->mem, info->irq, NULL);
450 if (ret)
451 goto err_remove_ltr;
452
453 dev_pm_set_driver_flags(dev, DPM_FLAG_SMART_SUSPEND);
454
453 return 0;
454
455err_remove_ltr:
456 intel_lpss_debugfs_remove(lpss);
457 intel_lpss_ltr_hide(lpss);
458 intel_lpss_unregister_clock(lpss);
459
460err_clk_register:

--- 12 unchanged lines hidden (view full) ---

473 intel_lpss_ltr_hide(lpss);
474 intel_lpss_unregister_clock(lpss);
475 ida_simple_remove(&intel_lpss_devid_ida, lpss->devid);
476}
477EXPORT_SYMBOL_GPL(intel_lpss_remove);
478
479static int resume_lpss_device(struct device *dev, void *data)
480{
455 return 0;
456
457err_remove_ltr:
458 intel_lpss_debugfs_remove(lpss);
459 intel_lpss_ltr_hide(lpss);
460 intel_lpss_unregister_clock(lpss);
461
462err_clk_register:

--- 12 unchanged lines hidden (view full) ---

475 intel_lpss_ltr_hide(lpss);
476 intel_lpss_unregister_clock(lpss);
477 ida_simple_remove(&intel_lpss_devid_ida, lpss->devid);
478}
479EXPORT_SYMBOL_GPL(intel_lpss_remove);
480
481static int resume_lpss_device(struct device *dev, void *data)
482{
481 pm_runtime_resume(dev);
483 if (!dev_pm_test_driver_flags(dev, DPM_FLAG_SMART_SUSPEND))
484 pm_runtime_resume(dev);
485
482 return 0;
483}
484
485int intel_lpss_prepare(struct device *dev)
486{
487 /*
488 * Resume both child devices before entering system sleep. This
489 * ensures that they are in proper state before they get suspended.

--- 61 unchanged lines hidden ---
486 return 0;
487}
488
489int intel_lpss_prepare(struct device *dev)
490{
491 /*
492 * Resume both child devices before entering system sleep. This
493 * ensures that they are in proper state before they get suspended.

--- 61 unchanged lines hidden ---