Hi Greg,

I love your patch! Yet something to improve:

[auto build test ERROR on staging/staging-testing]

url:    
https://github.com/0day-ci/linux/commits/Greg-Kroah-Hartman/staging-greybus-vibrator-use-proper-API-for-vibrator-devices/20210105-232001
base:   https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git 
1e9a9c7cba3ca5cbd3201a9f3b8dc6e8d7bef1c0
config: i386-randconfig-a013-20210105 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce (this is a W=1 build):
        # 
https://github.com/0day-ci/linux/commit/4bfe9c5dc24fa35861d281448fd4091f652c2076
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review 
Greg-Kroah-Hartman/staging-greybus-vibrator-use-proper-API-for-vibrator-devices/20210105-232001
        git checkout 4bfe9c5dc24fa35861d281448fd4091f652c2076
        # save the attached .config to linux build tree
        make W=1 ARCH=i386 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <l...@intel.com>

All errors (new ones prefixed by >>):

   ld: drivers/staging/greybus/vibrator.o: in function `gb_vibrator_probe':
>> drivers/staging/greybus/vibrator.c:224: undefined reference to 
>> `input_ff_create_memless'


vim +224 drivers/staging/greybus/vibrator.c

   158  
   159  static int gb_vibrator_probe(struct gb_bundle *bundle,
   160                               const struct greybus_bundle_id *id)
   161  {
   162          struct greybus_descriptor_cport *cport_desc;
   163          struct gb_connection *connection;
   164          struct gb_vibrator_device *vib;
   165          struct device *dev;
   166          int retval;
   167  
   168          if (bundle->num_cports != 1)
   169                  return -ENODEV;
   170  
   171          cport_desc = &bundle->cport_desc[0];
   172          if (cport_desc->protocol_id != GREYBUS_PROTOCOL_VIBRATOR)
   173                  return -ENODEV;
   174  
   175          vib = kzalloc(sizeof(*vib), GFP_KERNEL);
   176          if (!vib)
   177                  return -ENOMEM;
   178  
   179          connection = gb_connection_create(bundle, 
le16_to_cpu(cport_desc->id),
   180                                            NULL);
   181          if (IS_ERR(connection)) {
   182                  retval = PTR_ERR(connection);
   183                  goto err_free_vib;
   184          }
   185          gb_connection_set_data(connection, vib);
   186  
   187          vib->connection = connection;
   188  
   189          greybus_set_drvdata(bundle, vib);
   190  
   191          retval = gb_connection_enable(connection);
   192          if (retval)
   193                  goto err_connection_destroy;
   194  
   195          /*
   196           * For now we create a device in sysfs for the vibrator, but 
odds are
   197           * there is a "real" device somewhere in the kernel for this, 
but I
   198           * can't find it at the moment...
   199           */
   200          vib->minor = ida_simple_get(&minors, 0, 0, GFP_KERNEL);
   201          if (vib->minor < 0) {
   202                  retval = vib->minor;
   203                  goto err_connection_disable;
   204          }
   205          dev = device_create(&vibrator_class, &bundle->dev,
   206                              MKDEV(0, 0), vib, "vibrator%d", vib->minor);
   207          if (IS_ERR(dev)) {
   208                  retval = -EINVAL;
   209                  goto err_ida_remove;
   210          }
   211          vib->dev = dev;
   212  
   213          INIT_DELAYED_WORK(&vib->delayed_work, gb_vibrator_worker);
   214  
   215          INIT_WORK(&vib->play_work, gb_vibrator_play_work);
   216          vib->input->name = "greybus-vibrator";
   217          vib->input->close = gb_vibrator_close;
   218          vib->input->dev.parent = &bundle->dev;
   219          vib->input->id.bustype = BUS_HOST;
   220  
   221          input_set_drvdata(vib->input, vib);
   222          input_set_capability(vib->input, EV_FF, FF_RUMBLE);
   223  
 > 224          retval = input_ff_create_memless(vib->input, NULL,
   225                                           gb_vibrator_play_effect);
   226          if (retval)
   227                  goto err_device_remove;
   228  
   229          gb_pm_runtime_put_autosuspend(bundle);
   230  
   231          return 0;
   232  
   233  err_device_remove:
   234          device_unregister(vib->dev);
   235  err_ida_remove:
   236          ida_simple_remove(&minors, vib->minor);
   237  err_connection_disable:
   238          gb_connection_disable(connection);
   239  err_connection_destroy:
   240          gb_connection_destroy(connection);
   241  err_free_vib:
   242          kfree(vib);
   243  
   244          return retval;
   245  }
   246  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-...@lists.01.org

Attachment: .config.gz
Description: application/gzip

_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to