On Wed, Nov 13, 2019 at 01:03:44AM +0000, Parav Pandit wrote: > A small improvement below, because get_drvdata() and set_drvdata() Here it was called 'devdata' not the existing drvdata - so something different, I was confused for a bit too.. > is supposed to be called by the bus driver, not its creator. And > below data structure achieve strong type checks, no void* casts, and > exactly achieves the foo_device example. Isn't it better? > mlx5_virtbus_device { > struct virtbus_device dev; > struct mlx5_core_dev *dev; > }; This does seem a bit cleaner than using the void * trick (more, OOPy at least) Jason