Merge tag 'driver-core-5.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git...
authorLinus Torvalds <torvalds@linux-foundation.org>
Mon, 26 Apr 2021 18:05:36 +0000 (11:05 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Mon, 26 Apr 2021 18:05:36 +0000 (11:05 -0700)
Pull driver core updates from Greg KH:
 "Here is the "big" set of driver core changes for 5.13-rc1.

  Nothing major, just lots of little core changes and cleanups, notable
  things are:

   - finally set 'fw_devlink=on' by default.

     All reported issues with this have been shaken out over the past 9
     months or so, but we will be paying attention to any fallout here
     in case we need to revert this as the default boot value (symptoms
     of problems are a simple lack of booting)

   - fixes found to be needed by fw_devlink=on value in some subsystems
     (like clock).

   - delayed work initialization cleanup

   - driver core cleanups and minor updates

   - software node cleanups and tweaks

   - devtmpfs cleanups

   - minor debugfs cleanups

  All of these have been in linux-next for a while with no reported
  issues"

* tag 'driver-core-5.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (53 commits)
  devm-helpers: Fix devm_delayed_work_autocancel() kerneldoc
  PM / wakeup: use dev_set_name() directly
  software node: Allow node addition to already existing device
  kunit: software node: adhear to KUNIT formatting standard
  node: fix device cleanups in error handling code
  kobject_uevent: remove warning in init_uevent_argv()
  debugfs: Make debugfs_allow RO after init
  Revert "driver core: platform: Make platform_get_irq_optional() optional"
  media: ipu3-cio2: Switch to use SOFTWARE_NODE_REFERENCE()
  software node: Introduce SOFTWARE_NODE_REFERENCE() helper macro
  software node: Imply kobj_to_swnode() to be no-op
  software node: Deduplicate code in fwnode_create_software_node()
  software node: Introduce software_node_alloc()/software_node_free()
  software node: Free resources explicitly when swnode_register() fails
  debugfs: drop pointless nul-termination in debugfs_read_file_bool()
  driver core: add helper for deferred probe reason setting
  driver core: Improve fw_devlink & deferred_probe_timeout interaction
  of: property: fw_devlink: Add support for remote-endpoint
  driver core: platform: Make platform_get_irq_optional() optional
  driver core: Replace printf() specifier and drop unneeded casting
  ...

1  2 
MAINTAINERS
drivers/extcon/extcon-qcom-spmi-misc.c

diff --cc MAINTAINERS
Simple merge
@@@ -105,35 -80,18 +106,39 @@@ static int qcom_usb_extcon_probe(struc
                return ret;
        }
  
 +      ret = extcon_set_property_capability(info->edev,
 +                      EXTCON_USB, EXTCON_PROP_USB_SS);
 +      ret |= extcon_set_property_capability(info->edev,
 +                      EXTCON_USB_HOST, EXTCON_PROP_USB_SS);
 +      if (ret) {
 +              dev_err(dev, "failed to register extcon props rc=%d\n",
 +                                              ret);
 +              return ret;
 +      }
 +
        info->debounce_jiffies = msecs_to_jiffies(USB_ID_DEBOUNCE_MS);
-       INIT_DELAYED_WORK(&info->wq_detcable, qcom_usb_extcon_detect_cable);
+       ret = devm_delayed_work_autocancel(dev, &info->wq_detcable,
+                                          qcom_usb_extcon_detect_cable);
+       if (ret)
+               return ret;
  
 -      info->irq = platform_get_irq_byname(pdev, "usb_id");
 -      if (info->irq < 0)
 -              return info->irq;
 +      info->id_irq = platform_get_irq_byname(pdev, "usb_id");
 +      if (info->id_irq > 0) {
 +              ret = devm_request_threaded_irq(dev, info->id_irq, NULL,
 +                                      qcom_usb_irq_handler,
 +                                      IRQF_TRIGGER_RISING |
 +                                      IRQF_TRIGGER_FALLING | IRQF_ONESHOT,
 +                                      pdev->name, info);
 +              if (ret < 0) {
 +                      dev_err(dev, "failed to request handler for ID IRQ\n");
 +                      return ret;
 +              }
 +      }
  
 -      ret = devm_request_threaded_irq(dev, info->irq, NULL,
 +      info->vbus_irq = platform_get_irq_byname(pdev, "usb_vbus");
 +      if (info->vbus_irq > 0) {
 +              ret = devm_request_threaded_irq(dev, info->vbus_irq, NULL,
                                        qcom_usb_irq_handler,
                                        IRQF_TRIGGER_RISING |
                                        IRQF_TRIGGER_FALLING | IRQF_ONESHOT,