Messages in this thread | | | Date | Sun, 27 Nov 2022 18:38:39 -0800 | Subject | Re: [PATCH 1/5] driver core: make struct class.dev_uevent() take a const * | From | Bart Van Assche <> |
| |
On 11/27/22 05:45, Greg Kroah-Hartman wrote: > On Fri, Nov 25, 2022 at 03:51:11PM -0800, Bart Van Assche wrote: >> On 11/23/22 04:25, Greg Kroah-Hartman wrote: >>> diff --git a/include/linux/mISDNif.h b/include/linux/mISDNif.h >>> index 7dd1f01ec4f9..7aab4a769736 100644 >>> --- a/include/linux/mISDNif.h >>> +++ b/include/linux/mISDNif.h >>> @@ -586,7 +586,7 @@ extern struct mISDNclock *mISDN_register_clock(char *, int, clockctl_func_t *, >>> void *); >>> extern void mISDN_unregister_clock(struct mISDNclock *); >>> -static inline struct mISDNdevice *dev_to_mISDN(struct device *dev) >>> +static inline struct mISDNdevice *dev_to_mISDN(const struct device *dev) >>> { >>> if (dev) >>> return dev_get_drvdata(dev); >> >> Why does the dev_to_mISDN() function drop constness? I haven't found an >> explanation for this in the cover letter. > > I agree, this is going to be fixed up, see the thread starting here: > https://lore.kernel.org/r/Y34+V2bCDdqujBDk@kroah.com > > I'll work on making a const / non const version for these so that we > don't loose the marking. > > Oh wait, no, this function is fine, it's not modifying the device > structure at all, and only returning the pointer in the private data > stored in the device. There is no loss of const-ness here.
Hi Greg,
This is what I found in include/linux/mISDNif.h:
struct mISDNdevice { struct mISDNchannel D; u_int id; u_int Dprotocols; u_int Bprotocols; u_int nrbchan; u_char channelmap[MISDN_CHMAP_SIZE]; struct list_head bchannels; struct mISDNchannel *teimgr; struct device dev; };
As one can see 'dev' is a member of struct mISDNdevice. I still think that dev_to_mISDN() drops constness. Did I perhaps overlook something?
Bart.
| |