tree: https://git.linaro.org/people/vincent.guittot/kernel.git test-hikey960 head: c4de5e7ca1781a58a152bfc37586852afa519cb6 commit: 1cd362a7c237ce7413e08dd3cd086bcf4c7e6207 [3/30] usb: add pd support for hikey960
New smatch warnings: drivers/usb/pd/richtek/tcpc_rt1711h.c:538 rt1711_init_alert() warn: taking sizeof binop drivers/usb/pd/richtek/tcpc_rt1711h.c:1121 rt1711_tcpcdev_init() warn: unsigned 'val' is never less than zero. drivers/usb/pd/richtek/tcpci_core.c:168 tcpc_show_property() error: uninitialized symbol 'cc1'. drivers/usb/pd/richtek/tcpci_core.c:169 tcpc_show_property() error: snprintf() is printing too much 256 vs 32 drivers/usb/pd/richtek/tcpci_core.c:185 tcpc_show_property() error: uninitialized symbol 'cc2'. drivers/usb/pd/richtek/tcpci_core.c:272 tcpc_store_property() error: uninitialized symbol 'val'. drivers/usb/pd/richtek/tcpci_core.c:414 tcpc_device_register() warn: passing devm_ allocated variable to kfree. 'tcpc' drivers/usb/pd/richtek/pd_core.c:640 pd_reply_svdm_request() error: we previously assumed 'pd_event->pd_msg' could be null (see line 637) drivers/usb/pd/richtek/pd_dpm_core.c:441 pd_dpm_snk_evaluate_caps() error: we previously assumed 'pd_msg' could be null (see line 437) drivers/usb/pd/richtek/pd_dpm_core.c:507 pd_dpm_src_evaluate_request() error: we previously assumed 'pd_msg' could be null (see line 504) drivers/usb/pd/richtek/pd_dpm_core.c:696 dpm_vdm_get_svid() error: we previously assumed 'pd_msg' could be null (see line 694) drivers/usb/pd/richtek/pd_dpm_core.c:696 dpm_vdm_get_svid() error: we previously assumed 'pd_msg' could be null (see line 694) drivers/usb/pd/richtek/pd_dpm_core.c:735 pd_dpm_ufp_request_enter_mode() error: we previously assumed 'pd_event->pd_msg' could be null (see line 733) drivers/usb/pd/richtek/pd_dpm_prv.h:143 dpm_vdm_get_svid_ops() error: we previously assumed 'pd_event->pd_msg' could be null (see line 141) drivers/usb/pd/richtek/pd_dpm_core.c:1094 pd_dpm_dr_inform_sink_cap() error: we previously assumed 'pd_msg' could be null (see line 1092) drivers/usb/pd/richtek/pd_dpm_core.c:1122 pd_dpm_dr_inform_source_cap() error: we previously assumed 'pd_msg' could be null (see line 1120) Old smatch warnings: drivers/usb/pd/richtek/tcpci_core.c:171 tcpc_show_property() error: snprintf() is printing too much 256 vs 32 drivers/usb/pd/richtek/tcpci_core.c:173 tcpc_show_property() error: snprintf() is printing too much 256 vs 32 drivers/usb/pd/richtek/tcpci_core.c:175 tcpc_show_property() error: snprintf() is printing too much 256 vs 32 drivers/usb/pd/richtek/tcpci_core.c:177 tcpc_show_property() error: snprintf() is printing too much 256 vs 32 drivers/usb/pd/richtek/tcpci_core.c:179 tcpc_show_property() error: snprintf() is printing too much 256 vs 32 drivers/usb/pd/richtek/tcpci_core.c:181 tcpc_show_property() error: snprintf() is printing too much 256 vs 32 drivers/usb/pd/richtek/tcpci_core.c:183 tcpc_show_property() error: snprintf() is printing too much 256 vs 32 drivers/usb/pd/richtek/tcpci_core.c:186 tcpc_show_property() error: snprintf() is printing too much 256 vs 32 drivers/usb/pd/richtek/tcpci_core.c:188 tcpc_show_property() error: snprintf() is printing too much 256 vs 32 drivers/usb/pd/richtek/tcpci_core.c:190 tcpc_show_property() error: snprintf() is printing too much 256 vs 32 drivers/usb/pd/richtek/tcpci_core.c:192 tcpc_show_property() error: snprintf() is printing too much 256 vs 32 drivers/usb/pd/richtek/tcpci_core.c:194 tcpc_show_property() error: snprintf() is printing too much 256 vs 32 drivers/usb/pd/richtek/tcpci_core.c:196 tcpc_show_property() error: snprintf() is printing too much 256 vs 32 drivers/usb/pd/richtek/tcpci_core.c:198 tcpc_show_property() error: snprintf() is printing too much 256 vs 32 drivers/usb/pd/richtek/tcpci_core.c:200 tcpc_show_property() error: snprintf() is printing too much 256 vs 32 drivers/usb/pd/richtek/tcpci_core.c:281 tcpc_store_property() error: uninitialized symbol 'val'. drivers/usb/pd/richtek/tcpci_core.c:297 tcpc_store_property() error: uninitialized symbol 'val'. git remote add vincent.guittot https://git.linaro.org/people/vincent.guittot/kernel.git git remote update vincent.guittot git checkout 1cd362a7c237ce7413e08dd3cd086bcf4c7e6207 vim +538 drivers/usb/pd/richtek/tcpc_rt1711h.c 1cd362a7 Fan Ning 2017-06-06 524 1cd362a7 Fan Ning 2017-06-06 525 static int rt1711_init_alert(struct tcpc_device *tcpc) 1cd362a7 Fan Ning 2017-06-06 526 { 1cd362a7 Fan Ning 2017-06-06 527 struct rt1711_chip *chip = tcpc_get_dev_data(tcpc); 1cd362a7 Fan Ning 2017-06-06 528 struct sched_param param = { .sched_priority = MAX_RT_PRIO - 1 }; 1cd362a7 Fan Ning 2017-06-06 529 int ret; 1cd362a7 Fan Ning 2017-06-06 530 char *name; 1cd362a7 Fan Ning 2017-06-06 531 int len; 1cd362a7 Fan Ning 2017-06-06 532 1cd362a7 Fan Ning 2017-06-06 533 /* Clear Alert Mask & Status */ 1cd362a7 Fan Ning 2017-06-06 534 rt1711_write_word(chip->client, TCPC_V10_REG_ALERT_MASK, 0); 1cd362a7 Fan Ning 2017-06-06 535 rt1711_write_word(chip->client, TCPC_V10_REG_ALERT, 0xffff); 1cd362a7 Fan Ning 2017-06-06 536 1cd362a7 Fan Ning 2017-06-06 537 len = strlen(chip->tcpc_desc->name); 1cd362a7 Fan Ning 2017-06-06 @538 name = kzalloc(sizeof(len + 5), GFP_KERNEL); 1cd362a7 Fan Ning 2017-06-06 539 sprintf(name, "%s-IRQ", chip->tcpc_desc->name); 1cd362a7 Fan Ning 2017-06-06 540 1cd362a7 Fan Ning 2017-06-06 541 pr_info("%s name = %s\n", __func__, chip->tcpc_desc->name); 1cd362a7 Fan Ning 2017-06-06 542 pr_info("%s gpio # = %d\n", __func__, chip->irq_gpio); 1cd362a7 Fan Ning 2017-06-06 543 1cd362a7 Fan Ning 2017-06-06 544 ret = gpio_request(chip->irq_gpio, name); 1cd362a7 Fan Ning 2017-06-06 545 #ifdef DEBUG_GPIO 1cd362a7 Fan Ning 2017-06-06 546 gpio_request(DEBUG_GPIO, "debug_latency_pin"); 1cd362a7 Fan Ning 2017-06-06 547 gpio_direction_output(DEBUG_GPIO, 1); 1cd362a7 Fan Ning 2017-06-06 548 #endif 1cd362a7 Fan Ning 2017-06-06 549 if (ret < 0) { 1cd362a7 Fan Ning 2017-06-06 550 pr_err("Error: failed to request GPIO%d (ret = %d)\n", 1cd362a7 Fan Ning 2017-06-06 551 chip->irq_gpio, ret); 1cd362a7 Fan Ning 2017-06-06 552 return ret; 1cd362a7 Fan Ning 2017-06-06 553 } 1cd362a7 Fan Ning 2017-06-06 554 pr_info("GPIO requested...\n"); 1cd362a7 Fan Ning 2017-06-06 555 1cd362a7 Fan Ning 2017-06-06 556 ret = gpio_direction_input(chip->irq_gpio); 1cd362a7 Fan Ning 2017-06-06 557 if (ret < 0) { 1cd362a7 Fan Ning 2017-06-06 558 pr_err("Error: failed to set GPIO%d as input pin(ret = %d)\n", 1cd362a7 Fan Ning 2017-06-06 559 chip->irq_gpio, ret); 1cd362a7 Fan Ning 2017-06-06 560 return ret; 1cd362a7 Fan Ning 2017-06-06 561 } 1cd362a7 Fan Ning 2017-06-06 562 1cd362a7 Fan Ning 2017-06-06 563 chip->irq = gpio_to_irq(chip->irq_gpio); 1cd362a7 Fan Ning 2017-06-06 564 pr_info("%s : IRQ number = %d\n", __func__, chip->irq); 1cd362a7 Fan Ning 2017-06-06 565 1cd362a7 Fan Ning 2017-06-06 566 /* 1cd362a7 Fan Ning 2017-06-06 567 * ret = devm_request_threaded_irq(chip->dev, chip->irq, NULL, 1cd362a7 Fan Ning 2017-06-06 568 * rt1711_intr_handler, IRQF_TRIGGER_FALLING | IRQF_ONESHOT, 1cd362a7 Fan Ning 2017-06-06 569 * name, chip); 1cd362a7 Fan Ning 2017-06-06 570 */ 1cd362a7 Fan Ning 2017-06-06 571 1cd362a7 Fan Ning 2017-06-06 572 if (ret < 0) { 1cd362a7 Fan Ning 2017-06-06 573 pr_err("Error: failed to request irq%d (gpio = %d, ret = %d)\n", 1cd362a7 Fan Ning 2017-06-06 574 chip->irq, chip->irq_gpio, ret); 1cd362a7 Fan Ning 2017-06-06 575 return ret; 1cd362a7 Fan Ning 2017-06-06 576 } 1cd362a7 Fan Ning 2017-06-06 577 pr_info("%s : irq initialized...\n", __func__); 1cd362a7 Fan Ning 2017-06-06 578 1cd362a7 Fan Ning 2017-06-06 579 kthread_init_worker(&chip->irq_worker); 1cd362a7 Fan Ning 2017-06-06 580 chip->irq_worker_task = kthread_run(kthread_worker_fn, 1cd362a7 Fan Ning 2017-06-06 581 &chip->irq_worker, chip->tcpc_desc->name); 1cd362a7 Fan Ning 2017-06-06 582 if (IS_ERR(chip->irq_worker_task)) { 1cd362a7 Fan Ning 2017-06-06 583 pr_err("Error: Could not create tcpc task\n"); 1cd362a7 Fan Ning 2017-06-06 584 return -EINVAL; 1cd362a7 Fan Ning 2017-06-06 585 } 1cd362a7 Fan Ning 2017-06-06 586 1cd362a7 Fan Ning 2017-06-06 587 sched_setscheduler(chip->irq_worker_task, SCHED_FIFO, ¶m); 1cd362a7 Fan Ning 2017-06-06 588 kthread_init_work(&chip->irq_work, rt1711_irq_work_handler); 1cd362a7 Fan Ning 2017-06-06 589 1cd362a7 Fan Ning 2017-06-06 590 pr_info("IRQF_NO_THREAD Test\r\n"); 1cd362a7 Fan Ning 2017-06-06 591 ret = request_irq( 1cd362a7 Fan Ning 2017-06-06 592 chip->irq, rt1711_intr_handler, 1cd362a7 Fan Ning 2017-06-06 593 IRQF_TRIGGER_FALLING | IRQF_NO_THREAD | 1cd362a7 Fan Ning 2017-06-06 594 IRQF_NO_SUSPEND, name, chip); 1cd362a7 Fan Ning 2017-06-06 595 1cd362a7 Fan Ning 2017-06-06 596 enable_irq_wake(chip->irq); 1cd362a7 Fan Ning 2017-06-06 597 1cd362a7 Fan Ning 2017-06-06 598 return 0; 1cd362a7 Fan Ning 2017-06-06 599 } 1cd362a7 Fan Ning 2017-06-06 600 --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation _______________________________________________ kbuild mailing list kbuild@lists.01.org https://lists.01.org/mailman/listinfo/kbuild