Messages in this thread | | | Subject | Re: [PATCH v2 5/7] ASoC: qdsp6: Add depends on OF | From | Srinivas Kandagatla <> | Date | Tue, 19 Jun 2018 10:36:39 +0100 |
| |
On 18/06/18 21:53, Rob Herring wrote: > On Mon, Jun 18, 2018 at 2:08 PM, Niklas Cassel <niklas.cassel@linaro.org> wrote: >> On Mon, Jun 18, 2018 at 08:48:32AM -0600, Rob Herring wrote: >>> On Mon, Jun 18, 2018 at 6:39 AM, Niklas Cassel <niklas.cassel@linaro.org> wrote: >>>> On Mon, Jun 18, 2018 at 12:06:42PM +0100, Mark Brown wrote: >>>>> On Thu, Jun 14, 2018 at 01:11:36PM +0200, Niklas Cassel wrote: >>>>>> of_platform_device_destroy is only defined when building >>>>>> with CONFIG_OF=y. Add a depends on OF. >>>>> >>>>> Is it sensible that of_platform_device_destroy() is only defined when >>>>> building with CONFIG_OF=y? >>>> >>>> I'm redirecting that question to the device tree maintainers. >>>> >>>> There are a few of_* functions in include/linux/of_platform.h >>>> that are only defined when CONFIG_OF=y: >>>> >>>> of_platform_device_create() >>>> of_platform_device_destroy() >>>> of_platform_bus_probe() >>>> of_device_alloc() >>>> >>>> Rob, Frank, do you want me to create static inline dummy versions of these? >>> >>> No, because generally you should not be using these functions >>> directly. Yes, there are some users, but if you look at the tree, >>> there are few or isolated (PowerPC) users. Using >>> of_platform_populate/of_platform_depopulate is preferred. >> >> of_platform_device_destroy() is also used by sound/soc/qcom/qdsp6/* >> which is why I suggested this patch: >> https://marc.info/?l=alsa-devel&m=152932497413567 >> that adds "depends on OF" for SND_SOC_QDSP6 in sound/soc/qcom/Kconfig. >> >> Or do you think that a better solution would be to modify >> sound/soc/qcom/qdsp6/* so that it instead uses >> of_platform_populate()/of_platform_depopulate()? > > Yes, that is preferred. However, that won't work here because the > child nodes don't have compatible strings. Maybe we should add them as > this all just went in. That would also allow DT based module > autoloading to work (which I don't think would currently). Really, as > is, of_platform_device_create isn't needed here and you could just use > platform_device_register_simple instead. The child driver would have > to get the DT node pointer from the parent device instead. > compatible was the reason why I started using of_platform_device_{create,destroy} apis. As you said we could also do it with simple platform device too.
I think adding compatible seems to be better option here along with of_platform_populate()/of_platform_depopulate(), I will try this!
thanks, srini
> But if you want to add empty functions for just > of_platform_device_{create,destroy}, I guess that is fine. > > Rob >
| |