All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Lucas Tanure <tanureal@opensource.cirrus.com>
Cc: oe-kbuild-all@lists.linux.dev, linux-kernel@vger.kernel.org,
	Lee Jones <lee@kernel.org>,
	Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>,
	Charles Keepax <ckeepax@opensource.cirrus.com>
Subject: drivers/soundwire/bus_type.c:126:30: error: implicit declaration of function 'irq_create_mapping'; did you mean 'irq_dispose_mapping'?
Date: Fri, 15 Sep 2023 08:26:43 +0800	[thread overview]
Message-ID: <202309150820.6zuErL12-lkp@intel.com> (raw)

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   9fdfb15a3dbf818e06be514f4abbfc071004cbe7
commit: 12a95123bfe1dd1a6020a35f5e67a560591bb02a soundwire: bus: Allow SoundWire peripherals to register IRQ handlers
date:   4 weeks ago
config: s390-randconfig-r031-20220110 (https://download.01.org/0day-ci/archive/20230915/202309150820.6zuErL12-lkp@intel.com/config)
compiler: s390-linux-gcc (GCC) 11.3.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20230915/202309150820.6zuErL12-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202309150820.6zuErL12-lkp@intel.com/

All errors (new ones prefixed by >>):

   drivers/soundwire/bus_type.c: In function 'sdw_drv_probe':
>> drivers/soundwire/bus_type.c:126:30: error: implicit declaration of function 'irq_create_mapping'; did you mean 'irq_dispose_mapping'? [-Werror=implicit-function-declaration]
     126 |                 slave->irq = irq_create_mapping(slave->bus->domain, slave->dev_num);
         |                              ^~~~~~~~~~~~~~~~~~
         |                              irq_dispose_mapping
   drivers/soundwire/bus_type.c: In function 'sdw_drv_remove':
>> drivers/soundwire/bus_type.c:179:37: error: implicit declaration of function 'irq_find_mapping'; did you mean 'irq_dispose_mapping'? [-Werror=implicit-function-declaration]
     179 |                 irq_dispose_mapping(irq_find_mapping(slave->bus->domain,
         |                                     ^~~~~~~~~~~~~~~~
         |                                     irq_dispose_mapping
   cc1: some warnings being treated as errors
--
   drivers/soundwire/bus.c: In function 'sdw_bus_master_add':
>> drivers/soundwire/bus.c:173:23: error: implicit declaration of function 'irq_domain_create_linear' [-Werror=implicit-function-declaration]
     173 |         bus->domain = irq_domain_create_linear(fwnode, SDW_MAX_DEVICES,
         |                       ^~~~~~~~~~~~~~~~~~~~~~~~
   drivers/soundwire/bus.c:173:21: warning: assignment to 'struct irq_domain *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
     173 |         bus->domain = irq_domain_create_linear(fwnode, SDW_MAX_DEVICES,
         |                     ^
   drivers/soundwire/bus.c: In function 'sdw_bus_master_delete':
>> drivers/soundwire/bus.c:217:9: error: implicit declaration of function 'irq_domain_remove' [-Werror=implicit-function-declaration]
     217 |         irq_domain_remove(bus->domain);
         |         ^~~~~~~~~~~~~~~~~
   cc1: some warnings being treated as errors


vim +126 drivers/soundwire/bus_type.c

    79	
    80	static int sdw_drv_probe(struct device *dev)
    81	{
    82		struct sdw_slave *slave = dev_to_sdw_dev(dev);
    83		struct sdw_driver *drv = drv_to_sdw_driver(dev->driver);
    84		const struct sdw_device_id *id;
    85		const char *name;
    86		int ret;
    87	
    88		/*
    89		 * fw description is mandatory to bind
    90		 */
    91		if (!dev->fwnode)
    92			return -ENODEV;
    93	
    94		if (!IS_ENABLED(CONFIG_ACPI) && !dev->of_node)
    95			return -ENODEV;
    96	
    97		id = sdw_get_device_id(slave, drv);
    98		if (!id)
    99			return -ENODEV;
   100	
   101		/*
   102		 * attach to power domain but don't turn on (last arg)
   103		 */
   104		ret = dev_pm_domain_attach(dev, false);
   105		if (ret)
   106			return ret;
   107	
   108		ret = drv->probe(slave, id);
   109		if (ret) {
   110			name = drv->name;
   111			if (!name)
   112				name = drv->driver.name;
   113	
   114			dev_err(dev, "Probe of %s failed: %d\n", name, ret);
   115			dev_pm_domain_detach(dev, false);
   116			return ret;
   117		}
   118	
   119		mutex_lock(&slave->sdw_dev_lock);
   120	
   121		/* device is probed so let's read the properties now */
   122		if (drv->ops && drv->ops->read_prop)
   123			drv->ops->read_prop(slave);
   124	
   125		if (slave->prop.use_domain_irq) {
 > 126			slave->irq = irq_create_mapping(slave->bus->domain, slave->dev_num);
   127			if (!slave->irq)
   128				dev_warn(dev, "Failed to map IRQ\n");
   129		}
   130	
   131		/* init the sysfs as we have properties now */
   132		ret = sdw_slave_sysfs_init(slave);
   133		if (ret < 0)
   134			dev_warn(dev, "Slave sysfs init failed:%d\n", ret);
   135	
   136		/*
   137		 * Check for valid clk_stop_timeout, use DisCo worst case value of
   138		 * 300ms
   139		 *
   140		 * TODO: check the timeouts and driver removal case
   141		 */
   142		if (slave->prop.clk_stop_timeout == 0)
   143			slave->prop.clk_stop_timeout = 300;
   144	
   145		slave->bus->clk_stop_timeout = max_t(u32, slave->bus->clk_stop_timeout,
   146						     slave->prop.clk_stop_timeout);
   147	
   148		slave->probed = true;
   149	
   150		/*
   151		 * if the probe happened after the bus was started, notify the codec driver
   152		 * of the current hardware status to e.g. start the initialization.
   153		 * Errors are only logged as warnings to avoid failing the probe.
   154		 */
   155		if (drv->ops && drv->ops->update_status) {
   156			ret = drv->ops->update_status(slave, slave->status);
   157			if (ret < 0)
   158				dev_warn(dev, "%s: update_status failed with status %d\n", __func__, ret);
   159		}
   160	
   161		mutex_unlock(&slave->sdw_dev_lock);
   162	
   163		dev_dbg(dev, "probe complete\n");
   164	
   165		return 0;
   166	}
   167	
   168	static int sdw_drv_remove(struct device *dev)
   169	{
   170		struct sdw_slave *slave = dev_to_sdw_dev(dev);
   171		struct sdw_driver *drv = drv_to_sdw_driver(dev->driver);
   172		int ret = 0;
   173	
   174		mutex_lock(&slave->sdw_dev_lock);
   175	
   176		slave->probed = false;
   177	
   178		if (slave->prop.use_domain_irq)
 > 179			irq_dispose_mapping(irq_find_mapping(slave->bus->domain,
   180							     slave->dev_num));
   181	
   182		mutex_unlock(&slave->sdw_dev_lock);
   183	
   184		if (drv->remove)
   185			ret = drv->remove(slave);
   186	
   187		dev_pm_domain_detach(dev, false);
   188	
   189		return ret;
   190	}
   191	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

             reply	other threads:[~2023-09-15  0:27 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-09-15  0:26 kernel test robot [this message]
2023-09-16  5:14 ` drivers/soundwire/bus_type.c:126:30: error: implicit declaration of function 'irq_create_mapping'; did you mean 'irq_dispose_mapping'? Randy Dunlap
2023-09-18 12:01   ` Charles Keepax
  -- strict thread matches above, loose matches on Subject: below --
2023-09-29 13:08 kernel test robot
2023-10-02  8:55 ` Charles Keepax

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202309150820.6zuErL12-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=ckeepax@opensource.cirrus.com \
    --cc=lee@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=oe-kbuild-all@lists.linux.dev \
    --cc=pierre-louis.bossart@linux.intel.com \
    --cc=tanureal@opensource.cirrus.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.