The driver has a block of RV-1805-specific code (under the comment 'Configure RV1805 specifics'), which is executed before the part autodetection code (under the comment 'part autodetection'). If the driver is loaded with the 'generic' device data for abx80x, and the actual part in use is an RV-1805, the part-specific code won't be executed. I'm using this driver in a dynamic Device Tree environment, and at the moment I can't specify the part as the driver is loaded (although I could modify the overlay to support that if required). So the question is: does the RV-1805 specific code *have* to be executed before part autodetection in order to avoid the lockup situation mentioned in the comments, or could it be moved immediately after the autodetection so that it will be always be executed for an RV-1805 part?