Re: [RFC PATCH] fpga: Introduce new fpga subsystem

Alan Tull
2013-09-19T16:43:01Z

> >> +/**
> >> + * fpga_mgr_attr_read - Read data from fpga
> >> + * @dev: Pointer to the device structure
> >> + * @attr: Pointer to the device attribute structure
> >> + * @buf: Pointer to the buffer location
> >> + *
> >> + * Function reads fpga bitstream and copy them to output buffer
> >> + *
> >> + * Returns the number of bytes copied to @buf, a negative error number otherwise
> >> + */
> >> +static ssize_t fpga_mgr_attr_read(struct device *dev,
> >> + struct device_attribute *attr, char *buf)
> >> +{
> >> + struct fpga_manager *mgr = dev_get_drvdata(dev);
> >> + ssize_t count;
> >> + int ret;
> >> +
> >> + if (mgr && mgr->fpga_read)
> >> + ret = mgr->fpga_read(mgr, buf, &count);
> >> +
> >> + return ret == 0 ? count : -EPERM;
> >
> > EPERM isn't the only error return from fpga_read.
>
> Yeah I know. Will revisit all return codes.

Build warning:
/home/atull/repos/linux-socfpga/drivers/fpga/fpga-mgr.c:145:26: warning:
‘ret’ may be used uninitialized in this function [-Wmaybe-uninitialized]

>
> >
> >
> >> +/**
> >> + * fpga_mgr_attr_write - Write data to fpga
> >> + * @dev: Pointer to the device structure
> >> + * @attr: Pointer to the device attribute structure
> >> + * @buf: Pointer to the buffer location with bistream firmware filename
> >> + * @count: Number of characters in @buf
> >> + *
> >> + * @buf contains firmware filename which is loading through firmware
> >> + * interface and passed to the fpga driver.
> >> + *
> >> + * Returns string lenght added to @buf, a negative error number otherwise
> >> + */
> >> +static ssize_t fpga_mgr_attr_write(struct device *dev,
> >> + struct device_attribute *attr,
> >> + const char *buf, size_t count)
> >> +{
> >> + struct fpga_manager *mgr = dev_get_drvdata(dev);
> >> + int ret;
> >> +
> >> + if (mgr && mgr->fpga_write)
> >> + ret = mgr->fpga_write(mgr, buf);
> >> +
> >> + return ret == 0 ? strlen(buf) : -EPERM;
> >> +}
> >
> > Same -EPERM issue as read
>
> yap

Build warning:
/home/atull/repos/linux-socfpga/drivers/fpga/fpga-mgr.c:236:2: warning:
‘ret’ may be used uninitialized in this function [-Wmaybe-uninitialized]

Best Regards,
Alan