On Saturday 10 November 2012 10:23 PM, Francesco Lavra wrote: >>> I don't get the point of declaring the char array and copying the string >>> in it, when you could simply use just the pointer returned by >>> of_get_property(). >> >> I am considering a corner case where in 'battery-type' property is not >> present and battery is connected.In this case i promote battery to >> UNKNOWN from null. > > You could achieve the same result without using the char array, with > this assignment: > > btech = "UNKNOWN"; > >> FYI: Further, btemp driver will identify the connected battery based on >> resistance value and decide to use. >> Ref: ab8500_btemp_id(...) ab8500_btemp.c >> >>> Anyway, if the string property is longer than 8 characters, you are >>> writing past the size of the destination array. >> >> i believe it is safe as power_supply.h comprises defines having battery >> technology type in 4 characters length which is normally the case and >> 7 chars length being "UNKNOWN" seldom referred > > You should be able to handle whatever the device tree contains, and if > it contains unexpected data this is not a good excuse for locking up the > system. agreed, if we were to go by what device tree contains then explicit assignment for battery type as "UNKNOWN" is not required, hence only 2 use case persist as : a) property name with one of the said value be present (as per documentation) b) property name not present -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/