On Thu, Apr 25, 2013 at 07:09:37PM -0700, Christopher Li wrote: > On 04/22/2013 11:16 PM, Dan Carpenter wrote: > > That didn't work. It's the the void * in the parameter list that's > > the problem. We'd need to do something like the patch below: > > > > Otherwise we could add "__ok_to_cast" thing to Sparse maybe? > > Thanks for the insight. I make a small patch to test the __ok_to_cast > feature. The syntax is adding the force attribute to the argument > declaration. > > it will look like this: > static inline long __must_check PTR_ERR( __force const void *ptr) > > That means the "ptr" argument will perform a forced cast when receiving > the argument. It is OK to pass __iomem pointer to "ptr". > > The example are in the patch. It need to patch both sparse and the > Linux tree. > > What do you say? That's looks great. :) I tested a patched kernel with an unpatched kernel as well and that doesn't cause any new problems. regards, dan carpenter -- To unsubscribe from this list: send the line "unsubscribe linux-sparse" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html