Android 12 解决进摄像头偏红的bug

— a/alps/kernel-4.14/drivers/misc/mediatek/leds/leds-dw_gpio.c
+++ b/alps/kernel-4.14/drivers/misc/mediatek/leds/leds-dw_gpio.c
@@ -74,6 +74,8 @@ struct input_dev *g_input_dev = NULL;

//struct iio_channel *gm_channel;

+static void ir_cut_shutdown(void);
+
static void primary_batt_eint_work(struct work_struct *work)
{
volatile int plug_gpio;
@@ -375,8 +377,14 @@ int ir_cut_gpio_init(struct platform_device *pdev)
ret = PTR_ERR(leds_ir_cut_mode_l);
pr_debug(“%s : pinctrl err, leds_ir_cut_mode_l\n”, func);
}
+
+#if 1 /20240719/

  •   ir_cut_shutdown();
    

+#else
pinctrl_select_state(leds_ir_cut_ctrl, leds_ir_cut_2v8_l);
pinctrl_select_state(leds_ir_cut_ctrl, leds_ir_cut_mode_l);
+#endif
+
#if 0
pinctrl_select_state(leds_ir_cut_ctrl, leds_ir_cut_mode_h);
udelay(20);
@@ -389,6 +397,7 @@ int ir_cut_gpio_init(struct platform_device *pdev)
}
static void ir_cut_fbc_turnon(void)
{
+#if 0
pinctrl_select_state(leds_ir_cut_ctrl, leds_ir_cut_2v8_h);
pinctrl_select_state(leds_ir_cut_ctrl, leds_ir_cut_1v8_h);
mdelay(20);
@@ -398,11 +407,20 @@ static void ir_cut_fbc_turnon(void)
udelay(20);
pinctrl_select_state(leds_ir_cut_ctrl, leds_ir_cut_mode_h);
udelay(20);
+#else

  •   /*20240719*/
    
  •   pinctrl_select_state(leds_ir_cut_ctrl, leds_ir_cut_2v8_h);
    
  •   pinctrl_select_state(leds_ir_cut_ctrl, leds_ir_cut_1v8_l);
    
  •   pinctrl_select_state(leds_ir_cut_ctrl, leds_ir_cut_mode_h);
    

+#endif
}
static void ir_cut_shutdown(void)
{

  •   pinctrl_select_state(leds_ir_cut_ctrl, leds_ir_cut_2v8_l);
    
  •   pinctrl_select_state(leds_ir_cut_ctrl, leds_ir_cut_2v8_h);
    
  •   pinctrl_select_state(leds_ir_cut_ctrl, leds_ir_cut_1v8_l);
      pinctrl_select_state(leds_ir_cut_ctrl, leds_ir_cut_mode_l);
    
  •   mdelay(1000);
    
  •   pinctrl_select_state(leds_ir_cut_ctrl, leds_ir_cut_2v8_l);
    

}
int ir_cut_gpio_set(int val)
{
@@ -422,14 +440,14 @@ int ir_cut_gpio_set(int val)
if (val)
{
ir_cut_fbc_turnon();

  •           pinctrl_select_state(leds_ir_cut_ctrl, leds_ir_cut_1v8_l);
    
  •           pinctrl_select_state(leds_ir_cut_ctrl, leds_ir_cut_mode_l);
    
  •           //pinctrl_select_state(leds_ir_cut_ctrl, leds_ir_cut_1v8_l);
    
  •           //pinctrl_select_state(leds_ir_cut_ctrl, leds_ir_cut_mode_l);
      }
      else
      {
    
  •           pinctrl_select_state(leds_ir_cut_ctrl, leds_ir_cut_1v8_l);
    
  •           pinctrl_select_state(leds_ir_cut_ctrl, leds_ir_cut_mode_h);
    
  •           mdelay(1000);
    
  •           //pinctrl_select_state(leds_ir_cut_ctrl, leds_ir_cut_1v8_l);
    
  •           //pinctrl_select_state(leds_ir_cut_ctrl, leds_ir_cut_mode_h);
    
  •           //mdelay(1000);
              ir_cut_shutdown();
      }
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值