Re: [PATCH 12/15] driver core: Implement tagged directory supportfor device classes.

From: Tejun Heo
Date: Fri Jul 04 2008 - 09:57:57 EST


Hello, Eric.

Eric W. Biederman wrote:
> Thank you for your opinion.
>
> Incremental patches to make things more beautiful are welcome.
>
> Please remember we are not building lisp. The goal is code that works today.
>
> Since we are not talking about correctness of the code. Since we are not
> talking about interfaces with user space. Since we are talking something
> that is currently about 100 lines of code, and so will be easy to change
> even after it is merged. I don't understand how discussing this further
> is useful. Especially when I get a NAK based on the feel that the code
> is ugly.

I'm sorry if I gave you the impression of being draconian. Explanations
below.

> As for your main objection. Adding a accessor method to an object versus
> adding a data field that contain the same thing. The two are effectively
> identical. With the practical difference in my eyes that an accessor method
> prevents data duplication which reduces maintenance and reduces skew problems,
> and it keeps the size of struct kobject small. Since you think methods are
> horrible I must respectfully disagree with you.

Yeah, it seems we should agree to disagree here. I think using callback
for static values is a really bad idea. It obfuscates the code and
opens up a big hole for awful misuses. Greg, what do you think?

As we're very close to rc1 window, I think we can work out a solution
here. The reason why I nack'd was because the change wouldn't take too
much effort and I thought it could be done before -rc1. Unless you
disagree with making tags static values, I'll try to write up a patch to
do so. If you (and Greg) think the callback interface is better, we can
merge the code as-is and update (or not) later.

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/