Hi Ken, > >> >>> + >>> + if (!pdata->msm_i2c_config_gpio) { >>> + dev_err(&pdev->dev, "config_gpio function not initialized\n"); >>> + ret = -ENOSYS; >>> + goto err_config_failed; >>> + } >> >> I don't agree here. What if I do all the gpio configuration from the bootloader itself, >> because I know that the device I am working on is production device and don't change >> its configuration, then why I should provide the pdata hooks from the board files? > > The reason that this hook is required is so that the driver can enable and disable the GPIOs as needed (although we currently only enable them). > >> >> Please also specify what are the operations we are doing in the msm_i2c_config_gpio? > > Takes ownership of the GPIOs that are needed and assigns the ownership to the i2c controller. The drive strength is also set. Right, so due to these reasons I prefer not to have __must__ have check for pdata->msm_i2c_config_gpio hook's unavailability. It might happen that some of the systems do all these ownership and pad muxing into the bootloader itself. ---Trilok Soni -- Sent by a consultant of the Qualcomm Innovation Center, Inc. The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum. -- To unsubscribe from this list: send the line "unsubscribe linux-i2c" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html