Re: [PATCH 12/14] media: wl128x-radio: move from TI_ST to hci_ll driver

From: Rob Herring
Date: Wed Jan 09 2019 - 20:23:17 EST


On Wed, Jan 9, 2019 at 1:24 PM Marcel Holtmann <marcel@xxxxxxxxxxxx> wrote:
>
> Hi Sebastian,
>
> >>> +static int ll_register_fm(struct ll_device *lldev)
> >>> +{
> >>> + struct device *dev = &lldev->serdev->dev;
> >>> + int err;
> >>> +
> >>> + if (!of_device_is_compatible(dev->of_node, "ti,wl1281-st") &&
> >>> + !of_device_is_compatible(dev->of_node, "ti,wl1283-st") &&
> >>> + !of_device_is_compatible(dev->of_node, "ti,wl1285-st"))
> >>> + return -ENODEV;
> >>
> >> do we really want to hardcode this here? Isn't there some HCI
> >> vendor command or some better DT description that we can use to
> >> decide when to register this platform device.
> >
> > I don't know if there is some way to identify the availability
> > based on some HCI vendor command. The public documentation from
> > the WiLink chips is pretty bad.
>
> can we have some boolean property in the DT file then instead of hardcoding this in the driver.

Implying the feature based on the compatible is how this is normally
done for DT. Though typically we'd put the flag in driver match data
rather than code it like this.

However, I'd assume that FM radio depends on an antenna connection (to
the headphone) which a board may or may not have even though the chip
supports it. For that reason, I'm okay with a boolean here.

Rob