mfd: intel-lpss: Use MODULE_SOFTDEP() instead of implicit request
There is no need to handle optional module request in the driver when user space tools has that feature for ages. Replace custom code by MODULE_SOFTDEP() macro to let user space know that we would like to have the DMA driver loaded first, if any. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Signed-off-by: Lee Jones <lee.jones@linaro.org>
This commit is contained in:
parent
1094422253
commit
569fac7462
|
@ -128,17 +128,6 @@ static const struct mfd_cell intel_lpss_spi_cell = {
|
||||||
static DEFINE_IDA(intel_lpss_devid_ida);
|
static DEFINE_IDA(intel_lpss_devid_ida);
|
||||||
static struct dentry *intel_lpss_debugfs;
|
static struct dentry *intel_lpss_debugfs;
|
||||||
|
|
||||||
static int intel_lpss_request_dma_module(const char *name)
|
|
||||||
{
|
|
||||||
static bool intel_lpss_dma_requested;
|
|
||||||
|
|
||||||
if (intel_lpss_dma_requested)
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
intel_lpss_dma_requested = true;
|
|
||||||
return request_module("%s", name);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void intel_lpss_cache_ltr(struct intel_lpss *lpss)
|
static void intel_lpss_cache_ltr(struct intel_lpss *lpss)
|
||||||
{
|
{
|
||||||
lpss->active_ltr = readl(lpss->priv + LPSS_PRIV_ACTIVELTR);
|
lpss->active_ltr = readl(lpss->priv + LPSS_PRIV_ACTIVELTR);
|
||||||
|
@ -429,16 +418,6 @@ int intel_lpss_probe(struct device *dev,
|
||||||
dev_warn(dev, "Failed to create debugfs entries\n");
|
dev_warn(dev, "Failed to create debugfs entries\n");
|
||||||
|
|
||||||
if (intel_lpss_has_idma(lpss)) {
|
if (intel_lpss_has_idma(lpss)) {
|
||||||
/*
|
|
||||||
* Ensure the DMA driver is loaded before the host
|
|
||||||
* controller device appears, so that the host controller
|
|
||||||
* driver can request its DMA channels as early as
|
|
||||||
* possible.
|
|
||||||
*
|
|
||||||
* If the DMA module is not there that's OK as well.
|
|
||||||
*/
|
|
||||||
intel_lpss_request_dma_module(LPSS_IDMA64_DRIVER_NAME);
|
|
||||||
|
|
||||||
ret = mfd_add_devices(dev, lpss->devid, &intel_lpss_idma64_cell,
|
ret = mfd_add_devices(dev, lpss->devid, &intel_lpss_idma64_cell,
|
||||||
1, info->mem, info->irq, NULL);
|
1, info->mem, info->irq, NULL);
|
||||||
if (ret)
|
if (ret)
|
||||||
|
@ -554,3 +533,11 @@ MODULE_AUTHOR("Heikki Krogerus <heikki.krogerus@linux.intel.com>");
|
||||||
MODULE_AUTHOR("Jarkko Nikula <jarkko.nikula@linux.intel.com>");
|
MODULE_AUTHOR("Jarkko Nikula <jarkko.nikula@linux.intel.com>");
|
||||||
MODULE_DESCRIPTION("Intel LPSS core driver");
|
MODULE_DESCRIPTION("Intel LPSS core driver");
|
||||||
MODULE_LICENSE("GPL v2");
|
MODULE_LICENSE("GPL v2");
|
||||||
|
/*
|
||||||
|
* Ensure the DMA driver is loaded before the host controller device appears,
|
||||||
|
* so that the host controller driver can request its DMA channels as early
|
||||||
|
* as possible.
|
||||||
|
*
|
||||||
|
* If the DMA module is not there that's OK as well.
|
||||||
|
*/
|
||||||
|
MODULE_SOFTDEP("pre: platform:" LPSS_IDMA64_DRIVER_NAME);
|
||||||
|
|
Loading…
Reference in New Issue