In the past, I wasn't specifying any --image, and flashrom just flashed the one and only that I had defined in my layout file.
That's not accurate. If you didn't specify any --image to include, it just ignored the layout. Which unlikely was the intention if one speci- fied a layout in the first place.
Are you sure? The reason why I added the layout in the first place (long before version 0.9.9) was to save time in my sort of "production line".
These are new flash chips, and I only need to flash the first megabyte. Writing all 8 megabytes was taking longer. I believe that I timed the process, at least with the first flashrom version that I tried, and using the layout was a little faster.
I'm not sure about failing (i.e. returning an error code), though. Technically, not writing anything when no --image arguments are given seems correct.
If you are calling flashrom, surely you do not expect it to be a "no operation" that should just succeed. That is counterintuitive. We end-users are not logic-driven mathematicians!
At the very least you should change the wording from "Warning: Chip content is identical to the requested image." and "Erase/write done." to "no operation specified", "nothing to do" or something similar.
I personally would return an error code too.
The help text should also say that "--layout" requires at least one --image. Or at least mention that, without at least one --image argument, it becomes a noop.
Best regards, R. Diez