On Fri, 16 Feb 2007 12:42:27 -0600 James Bottomley <James.Bottomley@xxxxxxxxxxxx> wrote: > On Fri, 2007-02-16 at 10:34 -0800, Andrew Morton wrote: > > On Fri, 16 Feb 2007 10:42:12 -0600 James Bottomley <James.Bottomley@xxxxxxxxxxxx> wrote: > > > > > On Mon, 2007-02-12 at 12:27 -0800, Andrew Morton wrote: > > > > Given that we now have a standard kernel-wide, c99-friendly way of > > > > expressing true and false, I'd suggest that this decision can be revisited. > > > > > > > > Because a "true" is significantly more meaningful (and hence readable) > > > > thing than a bare "1". > > > > > > OK, I'm really not happy with doing this for three reasons: > > > > > > 1. It's inviting huge amounts of driver churn changing bitfields to > > > booleans > > > > > > 2. I do find it to be a readability issue. Like most driver writers, > > > I'm used to register layouts, and those are simple bitfields, so I don't > > > tend to think true and false, I think 1 and 0. > > > > > > 3. Having a different, special, type for single bit bitfields (while > > > still using u<n> for multi bit bitfields) is asking for confusion, and > > > hence trouble at the driver level. > > > > > > > Confused. The patch changes TRUE to true and FALSE to false. The code > > wasn't using bitfields before and isn't using them afterwards. I wouldn't > > expect there to be any change in generated code. > > Sorry, I was addressing the general idea of using booleans in drivers. > > > All it's doing is replacing the driver's private TRUE/FALSE with the > > kernel-wide ones. > > I already addressed that one ... I prefer bare 0 and 1. However, if the > driver writer wants to use TRUE/FALSE, I won't specifically reject it. > I really don't like the lower case true/false. > Me no understand. If you take the specific example of void ahd_set_syncrate(struct ahd_softc *ahd, struct ahd_devinfo *devinfo, u_int period, u_int offset, u_int ppr_options, u_int type, int paused) then if is crufty, inappropriate and wrong that `paused' is a scalar type. It's just not true or sensible that the code is written so that `paused' can take a value of seventy eight. It _is_ a boolean. It is a truth value. Declaring it as such in the source is all goodness. Passing the value `true' into calls to this function improve readability over passing "1". So I don't agree with (or understand) your objections. But I can certainly understand reluctance to merge a large-but-minor, do-nothing-much patch into a large and not-very-maintained driver. - To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html