I have ioctl() eink udpates working in my gmplay program, but this broke compatibility with kindles running OTHER 5.x firmware versions.
It is interesting that stucture naming conflicts between different 5.x firmware versions makes kindle touch eink software incompatible with other 5.x firmware versions, but it is still compatible with K4main, K3, DX and DXG (due to different header filename and different structure names for the older kindles).
Although it is easy to support eink for all kindles except 5.1 firmware, adding that in while keeping compatibility with 5.0.x firmware and 4.x(diags) is going to get messy.
Those lab126 guys are going to get my negative attention when I have time...
Oh... and they even broke eink update compatibilty between 5.1.0 main and 5.1.0 diags. I decided to try a hack here, where I use the new header file with the extra fields, and mirror the old values into their new locations AND into the new fields. That might actually work. NO! putting a non-zero value into the new fields to be compatible with OLD fields that were in those locations makes the eink updates NOT WORK! They screwed up so that even a simple hack like I wanted to do cannot work.
All I am trying to do is eink updates WITHOUT calling eips, that work on 5.1.0 main AND on 5.1.0 diags. Is that too much to ask? I need ioctl calls to work so I can to fast text with small area updates (which are much faster than full screen updates).