Re: [PATCH] stm class: Adding master and channel parameter to ioctl function

From: Alexander Shishkin
Date: Mon Mar 30 2015 - 10:19:58 EST


Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> writes:

> Hey Alex,

Hi Mathieu,

> Have a look at the following patch and see if you agree with my approach. If so
> simply add the code to a third version.

Greg's comment about the two levels of ioctls got me thinking in the
direction of adding callbacks to stm_data on case-by-case basis and then
I realized that we might actually move these private callbacks into the
stm core as well (see my followup to the coresight-stm driver patch).

So, I suggest that we work through the ioctl commands that you need for
coresight stm and try to see how they fit into the generic scheme of
things and if we still find that we need implementation-specific ioctl
commands, then we try to shape them as individual callbacks rather than
just .ioctl().

> diff --git a/include/linux/stm.h b/include/linux/stm.h
> index 976c94d8f17f..84dd83c47fe7 100644
> --- a/include/linux/stm.h
> +++ b/include/linux/stm.h
> @@ -62,8 +62,9 @@ struct stm_data {
> unsigned int);
> void (*unlink)(struct stm_data *, unsigned int,
> unsigned int);
> - long (*ioctl)(struct stm_data *, unsigned int,
> - unsigned long);
> + long (*ioctl)(struct stm_data *,
> + unsigned int, unsigned int,
> + unsigned int, unsigned long);

We might go even further and pass a struct stm_output (which also
contains number of channels) pointer here, having first moved it from
drivers/... to include/linux/stm.h, and while at it also do the same to
the other callbacks that pass master/channel around. Does this make
sense to you?

Regards,
--
Alex
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/