Hi Andrew, On 19/09/23 6:28 pm, Andrew Lunn wrote: > EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe > > On Tue, Sep 19, 2023 at 11:13:13AM +0000, Parthiban.Veerasooran@xxxxxxxxxxxxx wrote: >> Hi Andrew, >> >> On 13/09/23 7:46 am, Andrew Lunn wrote: >>> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe >>> >>>> +struct oa_tc6 { >>>> + struct spi_device *spi; >>>> + bool ctrl_prot; >>>> +}; >>> >>> Should this be considered an opaque structure which the MAC driver >>> should not access the members? > > Opaque vs not opaque is an important design decision. If the MAC > driver is allowed to directly access this structure, you should > document the locking concept. If the MAC is not supposed to access it > directly, only uses getters/setters, that also needs documenting, and > maybe even make it a void * in the MAC driver. Sorry that I missed to reply in the previous email. Thanks for the details on this topic. Yes, as "struct oa_tc6" and its members are not or going to be accessed in the MAC driver, I will consider this as an opaque structure and declare it as void *opaque_oa_tc6 in the MAC driver private structure "struct lan865x_priv" and will pass to the APIs exported from oa_tc6.c lib. Is my understanding correct? Best Regards, Parthiban V > > Andrew