On 10/01/2013 08:04 AM, Chanwoo Choi wrote: > On 09/30/2013 06:52 PM, Charles Keepax wrote: >> On Mon, Sep 30, 2013 at 08:37:30AM +0900, Chanwoo Choi wrote: >>> No, extcon-arizona driver don't currently support DT to get platform data. >>> I cannot find some dt function to parse data from dts file. >>> You have to implement extcon-arizona driver by using DT binding style >>> to get platform data. I think this patch is not necessary. >> >> Currently the Arizona MFD driver reads the device tree >> information and populates the pdata structure, this happens in >> drivers/mfd/arizona-core.c. Then the various drivers just use the >> pdata as normal. >> >> Admittedly, at the moment we don't parse any data for the extcon >> driver but without this patch we will attempt to use a NULL >> pointer on device tree systems. >> >> I would also be happy to implement this as a NULL check on the >> pdata when we use it if that is preferable? But since we have the >> cached pdata seems we might as well use it. >> > > I find below pdata list for extcon-arizona driver. > But, drivers/mfd/arizona-core.c don't parse dt data for below pdata list > of extcon-arizona. Did you test this patch for extcon-arizona operation? > > arizona->pdata.micd_pol_gpio > arizona->pdata.micd_force_micbias > arizona->pdata.hpdet_id_gpio > arizona->pdata.hpdet_acc_id > arizona->pdata.hpdet_acc_id_line > arizona->pdata.micd_detect_debounce > arizona->pdata.jd_gpio5 > arizona->pdata.micd_timeout > arizona->pdata.num_micd_configs > arizona->pdata.micd_configs > arizona->pdata.micd_bias_start_time > arizona->pdata.micd_rate > arizona->pdata.micd_dbtime > arizona->pdata.num_micd_ranges > ... > > If you fix NULL pointer error about pdata, > I think only that extcon-arizona modify it as following: > > diff --git a/drivers/extcon/extcon-arizona.c b/drivers/extcon/extcon-arizona.c > index e557130..3429906 100644 > --- a/drivers/extcon/extcon-arizona.c > +++ b/drivers/extcon/extcon-arizona.c > @@ -1088,6 +1088,10 @@ static int arizona_extcon_probe(struct platform_device > *pdev) > return -EPROBE_DEFER; > > pdata = dev_get_platdata(arizona->dev); > + if (!pdata) { > + dev_err(&pdev->dev, "Failed to get platform data\n"); > + return -EINVAL; > + } > > info = devm_kzalloc(&pdev->dev, sizeof(*info), GFP_KERNEL); > if (!info) { >
Additionally,I have a question. As I mentioned, extcon-arizon driver don't get pdata from dt parsing. I think extcon-arizona haven't operated without pdata. Did you only build test for extcon-arizona? I'd like you to implement parse function for extcon-arizona to solve this issue(NULL pointer error). Thanks Chanwoo Choi -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/