On Tue, Dec 7, 2010 at 11:20 PM, Nori, Sekhar <[email protected]> wrote:
> On Wed, Dec 08, 2010 at 03:44:47, [email protected] wrote:
>
>> +static __init void omapl138_hawk_mmc_init(void)
>> +{
>> +     int ret;
>> +
>> +     ret = davinci_cfg_reg_list(hawk_mmcsd0_pins);
>> +     if (ret) {
>> +             pr_warning("%s: MMC/SD0 mux setup failed: %d\n",
>> +                     __func__, ret);
>> +             return;
>> +     }
>> +
>> +     ret = gpio_request_one(DA850_HAWK_MMCSD_CD_PIN,
>> +                     GPIOF_DIR_IN, "MMC CD");
>> +     if (ret < 0) {
>> +             pr_warning("%s: can not open GPIO %d\n",
>> +                     __func__, DA850_HAWK_MMCSD_CD_PIN);
>> +             goto mmc_setup_cd_fail;
>> +     }
>
> A goto is only used when there is some recovery
> to be done. In this case, you should simply return
> here. The USB patch needs the same correction.
>
> Thanks,
> Sekhar

Sorry for this my mistake

It wil change to this

+static __init void omapl138_hawk_mmc_init(void)
+{
+       int ret;
+
+       ret = davinci_cfg_reg_list(hawk_mmcsd0_pins);
+       if (ret) {
+               pr_warning("%s: MMC/SD0 mux setup failed: %d\n",
+                       __func__, ret);
+               return;
+       }
+
+       ret = gpio_request_one(DA850_HAWK_MMCSD_CD_PIN,
+                       GPIOF_DIR_IN, "MMC CD");
+       if (ret < 0) {
+               pr_warning("%s: can not open GPIO %d\n",
+                       __func__, DA850_HAWK_MMCSD_CD_PIN);
+               return;
+       }
+
+       ret = gpio_request_one(DA850_HAWK_MMCSD_WP_PIN,
+                       GPIOF_DIR_IN, "MMC WP");
+       if (ret < 0) {
+               pr_warning("%s: can not open GPIO %d\n",
+                       __func__, DA850_HAWK_MMCSD_WP_PIN);
+               goto mmc_setup_wp_fail;
+       }
+
+       ret = da8xx_register_mmcsd0(&da850_mmc_config);
+       if (ret) {
+               pr_warning("%s: MMC/SD0 registration failed: %d\n",
+                       __func__, ret);
+               goto mmc_setup_mmcsd_fail;
+       }
+
+       return;
+
+mmc_setup_mmcsd_fail:
+       gpio_free(DA850_HAWK_MMCSD_WP_PIN);
+mmc_setup_wp_fail:
+       gpio_free(DA850_HAWK_MMCSD_CD_PIN);
+}
+

And USB will be this

+static __init void omapl138_hawk_usb_init(void)
+{
+       int ret;
+       u32 cfgchip2;
+
+       ret = davinci_cfg_reg_list(da850_hawk_usb11_pins);
+       if (ret) {
+               pr_warning("%s: USB 1.1 PinMux setup failed: %d\n",
+                       __func__, ret);
+               return;
+       }
+
+       /* Setup the Ref. clock frequency for the HAWK at 24 MHz. */
+
+       cfgchip2 = __raw_readl(DA8XX_SYSCFG0_VIRT(DA8XX_CFGCHIP2_REG));
+       cfgchip2 &= ~CFGCHIP2_REFFREQ;
+       cfgchip2 |=  CFGCHIP2_REFFREQ_24MHZ;
+       __raw_writel(cfgchip2, DA8XX_SYSCFG0_VIRT(DA8XX_CFGCHIP2_REG));
+
+       ret = gpio_request_one(DA850_USB1_VBUS_PIN,
+                       GPIOF_DIR_OUT, "USB1 VBUS");
+       if (ret < 0) {
+               pr_err("%s: failed to request GPIO for USB 1.1 port "
+                       "power control: %d\n", __func__, ret);
+               return;
+       }
+
+       ret = gpio_request_one(DA850_USB1_OC_PIN,
+                       GPIOF_DIR_IN, "USB1 OC");
+       if (ret < 0) {
+               pr_err("%s: failed to request GPIO for USB 1.1 port "
+                       "over-current indicator: %d\n", __func__, ret);
+               goto usb11_setup_oc_fail;
+       }
+
+       ret = da8xx_register_usb11(&omapl138_hawk_usb11_pdata);
+       if (ret) {
+               pr_warning("%s: USB 1.1 registration failed: %d\n",
+                       __func__, ret);
+               goto usb11_setup_fail;
+       }
+
+       return;
+
+usb11_setup_fail:
+       gpio_free(DA850_USB1_OC_PIN);
+usb11_setup_oc_fail:
+       gpio_free(DA850_USB1_VBUS_PIN);
+}
+

Thanks a lot for the comments

Regards

Victor Rodriguez


>> +
>> +     ret = gpio_request_one(DA850_HAWK_MMCSD_WP_PIN,
>> +                     GPIOF_DIR_IN, "MMC WP");
>> +     if (ret < 0) {
>> +             pr_warning("%s: can not open GPIO %d\n",
>> +                     __func__, DA850_HAWK_MMCSD_WP_PIN);
>> +             goto mmc_setup_wp_fail;
>> +     }
>> +
>> +     ret = da8xx_register_mmcsd0(&da850_mmc_config);
>> +     if (ret) {
>> +             pr_warning("%s: MMC/SD0 registration failed: %d\n",
>> +                     __func__, ret);
>> +             goto mmc_setup_mmcsd_fail;
>> +     }
>> +
>> +mmc_setup_cd_fail:
>> +     return;
>> +
>> +mmc_setup_mmcsd_fail:
>> +     gpio_free(DA850_HAWK_MMCSD_WP_PIN);
>> +mmc_setup_wp_fail:
>> +     gpio_free(DA850_HAWK_MMCSD_CD_PIN);
>> +}
>> +
>>  static struct davinci_uart_config omapl138_hawk_uart_config __initdata = {
>>       .enabled_uarts = 0x7,
>>  };
>> @@ -127,6 +198,8 @@ static __init void omapl138_hawk_init(void)
>>               pr_warning("%s: EDMA registration failed: %d\n",
>>                       __func__, ret);
>>
>> +     omapl138_hawk_mmc_init();
>> +
>>       ret = da8xx_register_watchdog();
>>       if (ret)
>>               pr_warning("omapl138_hawk_init: "
>> --
>> 1.7.0.4
>>
>> _______________________________________________
>> Davinci-linux-open-source mailing list
>> [email protected]
>> http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
>>
>
>
_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source

Reply via email to