Re: [PATCH] pci: separate out pci_add_dynid()

From: Tejun Heo
Date: Wed Sep 02 2009 - 18:43:42 EST


Ummm... another thought.

Tejun Heo wrote:
> It's one of the gripes I've had with the driver core interface.
> Returning the object which had its reference bumped up is nice to do
> do_something(get_driver(driver)); but it should have been made clear
> that the return value always equals the input parameter. IIRC, in the
> early days of the current driver model and kref, there were intentions
> to make kref somehow more capable and handle the last reference
> problem from within it so that if (get_driver(driver)) test is
> actually meaningful but that turned out to be not too feasible, so we
> ended up with unnecessary if () around driver model get functions. I
> try to remove them whenever an affected piece of code is being
> modified but there still are plenty left. I'll update comment on
> driver core get functions.

Greg, I think I suggested this before. What do you think about just
making those get functions return void? The current interface
combined with widespread if() around them is quite misleading. Most
device/driver structures are inherited and extended when actually in
use, so the driver or its subsystem code usually can't do much with
the return value other than checking for bogus error condition anyway.

Thanks.

--
tejun
--
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/