Re: [PATCH v11 1/5] staging: vc04_services: vchiq_arm: Add new bus type and device type

From: Dan Carpenter
Date: Thu Sep 14 2023 - 02:55:27 EST


On Thu, Sep 14, 2023 at 01:23:50AM +0530, Umang Jain wrote:
> +static int vchiq_bus_type_match(struct device *dev, struct device_driver *drv)
> +{
> + if (dev->bus == &vchiq_bus_type &&
> + strcmp(dev_name(dev), drv->name) == 0)
> + return 1;
> +
> + return 0;
> +}

I was not going to comment on this, because it's unfair to nitpick a
v11 patch... But since you're going to have to redo it anyway, could
you make this function bool and change it to return true/false.

static bool vchiq_bus_type_match(struct device *dev, struct device_driver *drv)
{
if (dev->bus == &vchiq_bus_type &&
strcmp(dev_name(dev), drv->name) == 0)
return true;

return false;
}

> +static int vchiq_bus_probe(struct device *dev)
> +{
> + struct vchiq_device *device = to_vchiq_device(dev);
> + struct vchiq_driver *driver = to_vchiq_driver(dev->driver);
> + int ret;
> +
> + ret = driver->probe(device);
> + if (ret == 0)
> + return 0;
> +
> + return ret;

Ugh... I was going to ignore this as well, but later there is a
checkpatch warning so then I decided nitpicking was ok. Always do
error handling. if (ret). Never do success handling. if (!ret). But
here it can be done on one line.

return driver->probe(device);

> +}
> +
> +struct bus_type vchiq_bus_type = {
> + .name = "vchiq-bus",
> + .match = vchiq_bus_type_match,
> + .uevent = vchiq_bus_uevent,
> + .probe = vchiq_bus_probe,
> +};
> +
> +static void vchiq_device_release(struct device *dev)
> +{
> + struct vchiq_device *device = to_vchiq_device(dev);
> +
> + kfree(device);
> +}
> +
> +struct vchiq_device *
> +vchiq_device_register(struct device *parent, const char *name)
> +{
> + struct vchiq_device *device;
> + int ret;
> +
> + device = kzalloc(sizeof(*device), GFP_KERNEL);
> + if (!device) {
> + dev_err(parent, "Cannot register %s: Insufficient memory\n",
> + name);

Run checkpatch.pl -f on your files.

> + return NULL;
> + }

Stefan already commented on the other stuff I was going to say.

regards,
dan carpenter