On this day, September 1, 2021, thus sayeth Krish Jain: > > Yes, lots of reading to do :) . I had a look at the book and it seems > better than the documentation too, I don't know, maybe the writing > style? Love it, Greg. Lastly just out of curiosity, Bryan, if this > can only be built as a built-in object then how come "As for your > patch, I built the driver using: > > $ make CCFLAGS=-Werror W=1 M=drivers/staging/android" > > got you the errors that I desired? Aren't you building as a module here? > That's a good question Krish! The command I sent you does not build built-in modules or create the output I sent you! As Greg said, ASHMEM cannot be built as a loadable module! It is odd, when retracing my steps just now, I must have known at some point that ASHMEM was a built-in module as menuconfig will not let you select the <M> or loadable module option. The only thing I can think I did was build the module without using the M= option, copied the error message, then retyped the wrong 'make' command I had used to produce it. What is *very* embarrassing is I had multiple opportunities to catch my mistake. Somewhere between building your patch and writing the email I truly lost the critical piece "this is a built-in module". Even the CCFLAGS command Greg talked about is not a great command to be using! I should not have sent you CCFLAGS or the less worse KCFLAGS that I should not be using. Both really have no need here in drivers/staging/ and only add to the confusion. I will say, for your next patch that I am eagerly waiting for, the W=1 option is a good way to catch subtle errors that Greg may ask you to fix and resend. I got one thing right :/ I don't know, I truly lost my marbles on this one. I apologize again for my goof, it must have been very frustrating. ~Bryan