On Wed, Dec 19, 2018 at 10:54:55AM -0600, Pierre-Louis Bossart wrote:
-static int is_byt_cr(struct device *dev, bool *bytcr) +static int is_byt_cr(struct platform_device *pdev, bool *bytcr) {
- struct device *dev = &pdev->dev; int status = 0;
- if (platform_get_resource(pdev, IORESOURCE_IRQ, 5) == NULL) {
/* This message is even shown if the device would be detected as BYT-CR below */
dev_info(dev, "Falling back to Baytrail-CR platform\n");
*bytcr = true;
return status;
- }
- if (IS_ENABLED(CONFIG_IOSF_MBI)) { u32 bios_status;
This would be my preferred solution but if it doesn't work as Hans mentions it then we need to think of alternatives.
Baytrail platforms are so different (BIOS and hardware) that I don't think we'll manage to pull this off without quirks.
It definitely works on my device and the few others I have seen with only one IRQ listed. But there might be devices out there which are not covered by the pmic-type based detection but still have all 6 IRQs listed.
As for the "Teclast X98 Air 3G": Antonio, you mentioned that you have last tested mainline a few years back. Can you re-test without any modifications to the DSDT table on a recent mainline kernel?
I just wonder if it is really not covered by the pmic-type based detection. It does have quirks in mainline that were added with the pull request that also added the pmic-type based BYT-CR detection (see [1]).
[1]: http://mailman.alsa-project.org/pipermail/alsa-devel/2016-August/111704.html