Re: New IDX in linux/connector.h ?

From: Evgeniy Polyakov
Date: Wed Jul 23 2008 - 10:05:09 EST


On Wed, Jul 23, 2008 at 03:45:09PM +0200, Jerome Arbez-Gindre (jeromearbezgindre@xxxxxxxxx) wrote:
> diff --git a/include/linux/connector.h b/include/linux/connector.h
> index 96a89d3..361996c 100644
> --- a/include/linux/connector.h
> +++ b/include/linux/connector.h
> @@ -38,6 +38,7 @@
> #define CN_W1_VAL 0x1
> #define CN_IDX_V86D 0x4
> #define CN_VAL_V86D_UVESAFB 0x1
> +#define CN_IDX_BB 0x5
>
> #define CN_NETLINK_USERS 5

Update this number too.
While it is less than 32, it does not matter, but just for the record.

> > I even wanted to have private indexes, i.e. those which are supposed to
> > be used by out-of-the-tree code, and no in-kernel users would ever touch
> > this numbers.
>
> So which numbers am I suppose to use ... taking account that BB will
> probably stay for a long time out-of-the-tree ?

You can use whatever VAL number you like:

struct cb_id cn_dst_id[] = {{CN_DST_IDX, 1}, {CN_DST_IDX, 2}, {CN_DST_IDX, 3}};

for (i=0; i<ARRAY_SIZE(cn_dst_id); ++i)
cn_add_callback(&cn_dst_id[i], "DST", cn_dst_callback_func);

So cn_dst_callback_func() will be invoked for
idx=CN_DST_IDX,val={1,2,3}, you can determine val parameter from the
provided header and make appropriate decition.
You can also register multiple different callbacks for each idx.val
pair of course.

--
Evgeniy Polyakov
--
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/