Re: [PATCH v3 7/8] mikrobus: Add mikrobus driver

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, Mar 16, 2024 at 12:19:05AM +0530, Ayush Singh wrote:

> +	if (dev->regulators) {
> +		if (dev->protocol == GREYBUS_PROTOCOL_SPI) {
> +			snprintf(devname, sizeof(devname), "%s.%u", dev_name(&port->spi_ctrl->dev),
> +				 port->chip_select[dev->reg]);
> +			regulator.dev_name = kmemdup(devname, MIKROBUS_NAME_SIZE, GFP_KERNEL);
> +		} else if (dev->protocol == GREYBUS_PROTOCOL_RAW) {

It looks like you're trying to write a switch statement here...

> +		for (i = 0; i < dev->num_regulators; i++) {
> +			val = dev->regulators[i].value.u64_data;
> +			regulator.supply =
> +				kmemdup(dev->regulators[i].name, MIKROBUS_NAME_SIZE, GFP_KERNEL);
> +			dev_info(&port->dev, "adding fixed regulator %llu uv, %s for %s", *val,
> +				 regulator.supply, regulator.dev_name);
> +			regulator_register_always_on(0, dev->regulators[i].name, &regulator, 1,
> +						     *val);
> +		}

The registered regualtor is ignored here which means you leak the
regualtors every time a device is unregistered...

> +static void mikrobus_device_unregister(struct mikrobus_port *port, struct board_device_info *dev,
> +				       char *board_name)

...an operation which does seem to be supported?

Attachment: signature.asc
Description: PGP signature

_______________________________________________
greybus-dev mailing list -- greybus-dev@xxxxxxxxxxxxxxxx
To unsubscribe send an email to greybus-dev-leave@xxxxxxxxxxxxxxxx

[Index of Archives]     [Asterisk App Development]     [PJ SIP]     [Gnu Gatekeeper]     [IETF Sipping]     [Info Cyrus]     [ALSA User]     [Fedora Linux Users]     [Linux SCTP]     [DCCP]     [Gimp]     [Yosemite News]     [Deep Creek Hot Springs]     [Yosemite Campsites]     [ISDN Cause Codes]     [Asterisk Books]

  Powered by Linux