Re: [RFC PATCH] iio: adc: Add Xilinx AMS driver

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Mar 15, 2018 at 08:12:27PM +0530, Manish Narani wrote:
> The AMS includes an ADC as well as on-chip sensors that can be used to
> sample external voltages and monitor on-die operating conditions, such as
> temperature and supply voltage levels. The AMS has two SYSMON blocks.
> PL-SYSMON block is capable of monitoring off chip voltage and temperature.
> PL-SYSMON block has DRP, JTAG and I2C interface to enable monitoring from
> external master. Out of these interface currently only DRP is supported.
> Other block PS-SYSMON is memory mapped to PS.
> 
> The AMS can use internal channels to monitor voltage and temperature
> as well as one primary and up to 16 auxiliary channels for measuring
> external voltages.
> 
> The voltage and temperature monitoring channels also have event
> capability which allows to generate an interrupt when their value
> falls below or raises above a set threshold.
> 
> Signed-off-by: Manish Narani <mnarani@xxxxxxxxxx>
> ---

[..]

> +static const struct of_device_id ams_of_match_table[] = {
> +       { .compatible = "xlnx,zynqmp-ams", &ams_pl_apb },
> +       { }
> +};
> +MODULE_DEVICE_TABLE(of, ams_of_match_table);

[..]

> +static int ams_probe(struct platform_device *pdev)
> +{
> +       struct iio_dev *indio_dev;
> +       struct ams *ams;
> +       struct resource *res;
> +       const struct of_device_id *id;
> +       int ret;
> +
> +       if (!pdev->dev.of_node)
> +               return -ENODEV;
> +
> +       id = of_match_node(ams_of_match_table, pdev->dev.of_node);
> +       if (!id)
> +               return -ENODEV;

Is the above check required ?

Isn't the probe function called if and only if a match is found in
ams_of_match_table[] since it is a pure OF driver ?

And therefore the above condition would never happen!

> +static struct platform_driver ams_driver = {
> +       .probe = ams_probe,
> +       .remove = ams_remove,
> +       .driver = {
> +               .name = "ams",
> +               .pm     = &ams_pm_ops,
> +               .of_match_table = ams_of_match_table,
> +       },
> +};
> +module_platform_driver(ams_driver);


-- 
Thanks
Himanshu Jha
--
To unsubscribe from this list: send the line "unsubscribe linux-iio" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Input]     [Linux Kernel]     [Linux SCSI]     [X.org]

  Powered by Linux