On 03/12/13 11:41, David Brown wrote: > @@ -261,56 +263,13 @@ int msm_ssbi_write(struct device *dev, u16 addr, u8 *buf, int len) > } > EXPORT_SYMBOL_GPL(msm_ssbi_write); > > -static int msm_ssbi_add_slave(struct msm_ssbi *ssbi, > - const struct msm_ssbi_slave_info *slave) > -{ > - struct platform_device *slave_pdev; > - int ret; > - > - if (ssbi->slave) { > - pr_err("slave already attached??\n"); > - return -EBUSY; > - } > - > - slave_pdev = platform_device_alloc(slave->name, -1); > - if (!slave_pdev) { > - pr_err("cannot allocate pdev for slave '%s'", slave->name); > - ret = -ENOMEM; > - goto err; > - } > - > - slave_pdev->dev.parent = ssbi->dev; > - slave_pdev->dev.platform_data = slave->platform_data; > - > - ret = platform_device_add(slave_pdev); > - if (ret) { > - pr_err("cannot add slave platform device for '%s'\n", > - slave->name); > - goto err; > - } > - > - ssbi->slave = &slave_pdev->dev; > - return 0; > - > -err: > - if (slave_pdev) > - platform_device_put(slave_pdev); > - return ret; > -} > - > static int msm_ssbi_probe(struct platform_device *pdev) > { > - const struct msm_ssbi_platform_data *pdata = pdev->dev.platform_data; Now that all this code is gone do we have a user of the msm_ssbi_platform_data struct? Why not remove it from the header file? If you remove it from the header you can probably move the enum for controller_type into this file too. > @@ -334,7 +293,25 @@ static int msm_ssbi_probe(struct platform_device *pdev) > ssbi->dev = &pdev->dev; > platform_set_drvdata(pdev, ssbi); > > - ssbi->controller_type = pdata->controller_type; > + type = of_get_property(np, "qcom,controller-type", NULL); > + if (type == NULL) { > + pr_err("Missing qcom,controller-type property\n"); This could be dev_err() considering you use dev_info() below. > + ret = -EINVAL; > + goto err_ssbi_controller; > + } > + dev_info(&pdev->dev, "SSBI controller type: '%s'\n", type); > + if (strcmp(type, "ssbi") == 0) > + ssbi->controller_type = MSM_SBI_CTRL_SSBI; > + else if (strcmp(type, "ssbi2") == 0) > + ssbi->controller_type = MSM_SBI_CTRL_SSBI2; > + else if (strcmp(type, "pmic-arbiter") == 0) > + ssbi->controller_type = MSM_SBI_CTRL_PMIC_ARBITER; > + else { > + pr_err("Unknown qcom,controller-type\n"); dev_err()? > @@ -370,12 +347,18 @@ static int msm_ssbi_remove(struct platform_device *pdev) > return 0; > } > > +static struct of_device_id ssbi_match_table[] = { const? -- Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation -- To unsubscribe from this list: send the line "unsubscribe linux-doc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html