lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Tue, 19 Jan 2021 09:51:42 +0000 From: Richard Fitzgerald <rf@...nsource.cirrus.com> To: Andy Shevchenko <andy.shevchenko@...il.com>, Hans de Goede <hdegoede@...hat.com> CC: Lee Jones <lee.jones@...aro.org>, Cezary Rojewski <cezary.rojewski@...el.com>, Pierre-Louis Bossart <pierre-louis.bossart@...ux.intel.com>, Liam Girdwood <liam.r.girdwood@...ux.intel.com>, Jie Yang <yang.jie@...ux.intel.com>, Mark Brown <broonie@...nel.org>, <patches@...nsource.cirrus.com>, Linux Kernel Mailing List <linux-kernel@...r.kernel.org>, Charles Keepax <ckeepax@...nsource.cirrus.com>, ALSA Development Mailing List <alsa-devel@...a-project.org> Subject: Re: [PATCH v2 08/12] ASoC: arizona-jack: convert into a helper library for codec drivers On 18/01/2021 17:24, Andy Shevchenko wrote: > On Sun, Jan 17, 2021 at 6:06 PM Hans de Goede <hdegoede@...hat.com> wrote: >> >> Convert the arizona extcon driver into a helper library for direct use >> from the arizona codec-drivers, rather then being bound to a separate >> MFD cell. >> >> Note the probe (and remove) sequence is split into 2 parts: >> >> 1. The arizona_jack_codec_dev_probe() function inits a bunch of >> jack-detect specific variables in struct arizona_priv and tries to get >> a number of resources where getting them may fail with -EPROBE_DEFER. >> >> 2. Then once the machine driver has create a snd_sock_jack through >> snd_soc_card_jack_new() it calls snd_soc_component_set_jack() on >> the codec component, which will call the new arizona_jack_set_jack(), >> which sets up jack-detection and requests the IRQs. >> >> This split is necessary, because the IRQ handlers need access to the >> arizona->dapm pointer and the snd_sock_jack which are not available >> when the codec-driver's probe function runs. >> >> Note this requires that machine-drivers for codecs which are converted >> to use the new helper functions from arizona-jack.c are modified to >> create a snd_soc_jack through snd_soc_card_jack_new() and register >> this jack with the codec through snd_soc_component_set_jack(). > > ... > >> +int arizona_jack_codec_dev_probe(struct arizona_priv *info, struct device *dev) >> { >> - struct arizona *arizona = dev_get_drvdata(pdev->dev.parent); >> + struct arizona *arizona = info->arizona; >> struct arizona_pdata *pdata = &arizona->pdata; > >> + int ret, mode; >> >> if (!dev_get_platdata(arizona->dev)) >> - arizona_extcon_device_get_pdata(&pdev->dev, arizona); >> + arizona_extcon_device_get_pdata(dev, arizona); >> >> - info->micvdd = devm_regulator_get(&pdev->dev, "MICVDD"); >> + info->micvdd = devm_regulator_get(arizona->dev, "MICVDD"); > > I'm wondering if arizona->dev == dev here. if no, can this function > get a comment / kernel-doc explaining what dev is? > pdev->dev would be *this* driver. arizona->dev should be the MFD parent driver. I think these gets should be against the dev passed in as argument (I assume that is the caller's pdev->dev). So they are owned by this driver, not its parent.
Powered by blists - more mailing lists