Re: [RFC 08/11] gpiolib: cdev: Add hardware timestamp clock type

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

 



On Thu, Jul 29, 2021 at 08:07:15PM -0700, Dipen Patel wrote:
> 
> On 7/1/21 7:24 AM, Kent Gibson wrote:

<snip>
> >
> >>  			ret = gpiod_direction_output(desc, val);
> >>  			if (ret)
> >>  				return ret;
> >> @@ -1152,6 +1186,13 @@ static long linereq_set_config_unlocked(struct linereq *lr,
> >>  					polarity_change);
> >>  			if (ret)
> >>  				return ret;
> >> +
> >> +			/* Check if new config sets hardware assisted clock */
> >> +			if (flags & GPIO_V2_LINE_FLAG_EVENT_CLOCK_HARDWARE) {
> >> +				ret = gpiod_hw_timestamp_control(desc, true);
> >> +				if (ret)
> >> +					return ret;
> >> +			}
> >>  		}
> >>  
> > The error code here can come from the pinctrl timestamp_control(), so it
> > should be sanitised before being returned to userspace.
> 
> I do not understand what do you mean by sanitise. I just followed what
> 
> gpiod_direction_output did just above which also returns ret from gpio
> 
> driver code similar to timestamp_control API.
> 

In this context, sanitise means convert any kernel internal error codes
to their userspace equivalent before returning them to userspace.

Fair enough with the gpiod_direction_output() comparison.  I was thinking
of a patch Andy recently submitted[1] to sanitise gpiod_request(), which
can sometimes return EPROBE_DEFER.  But I guess we can wait until we find
a case of a driver returning an internal error code and add a sanitiser
then.

Cheers,
Kent.

[1] https://www.spinics.net/lists/linux-gpio/msg60998.html




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux