qiprog: Remove obsolete parsing of VID:PID argument

Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
qiprog: Quit when receiving invalid command line option

Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
qiprog: Rename misleadingly named open_device() to qiprog_run()

Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
qiprog: Allow specifying a chip read, write, or verify operation

Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
qiprog: Only stress test device if specified via cmdline option

qiprog (the application) should not do things on its own. The device test
code is useful for seeing if something may be wrong with the device, but
should not be run unless explicitly requested. Hence, only run it if
"-t | --test" is given as an argument.

Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
qiprog: Clean up after being done with libqiprog

Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
qiprog: Print message when an unimplemented operation is called

Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
qiprog: Implement reading chip contents to file

Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
qiprog: Implement chip verify operation

Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
qiprog: Identify the flash chip's size based on its ID

Generally, there is no reliable way to probe a chip's size, so the best way
to find it is to look it up base on the device's manufacturer and vendor
ID. Use a minimal table for this.

Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
qiprog: Fail verification right away if file is wrong size

Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
qiprog: Use detected chip size when reading flash chip

Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>