https://github.com/torvalds/linux
Revision 7383123647566a813692bb37a1389c767ed89158 authored by Jani Nikula on 19 November 2015, 08:26:30 UTC, committed by Jani Nikula on 19 November 2015, 08:38:09 UTC
This reverts

commit 6764e9f8724f1231b4deac53b9a82286ac0830e7
Author: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Date:   Thu Aug 27 15:44:06 2015 +0200

    drm/i915: skip modeset if compatible for everyone.

Bring back the i915.fastboot module parameter, disabled by default, due
to backlight regression on Chromebook Pixel 2015.

Apparently the firmware of the Chromebook in question enables the panel
but disables backlight to avoid a brief garbage scanout upon loading the
kernel/module. With fastboot, we leave the backlight untouched, in this
case disabled. The user would have to do a modeset (i.e. not just crank
up the brightness) to enable the backlight.

There is no clean fix readily available, so get back to the drawing
board by reverting.

[N.B. The reference below is for when the thread was included on public
lists, and some of the context had already been dropped by then.]

Reported-and-tested-by: Olof Johansson <olof@lixom.net>
Acked-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
References: http://marc.info/?i=CAKMK7uES7xk05ki92oeX6gmvZWAh9f2vL7yz=6T+fGK9J3X7cQ@mail.gmail.com
Fixes: 6764e9f8724f ("drm/i915: skip modeset if compatible for everyone.")
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1447921590-3785-1-git-send-email-jani.nikula@intel.com
1 parent 00490c2
Raw File
Tip revision: 7383123647566a813692bb37a1389c767ed89158 authored by Jani Nikula on 19 November 2015, 08:26:30 UTC
Revert "drm/i915: skip modeset if compatible for everyone."
Tip revision: 7383123
hid-penmount.c
/*
 *  HID driver for PenMount touchscreens
 *
 *  Copyright (c) 2014 Christian Gmeiner <christian.gmeiner <at> gmail.com>
 *
 *  based on hid-penmount copyrighted by
 *    PenMount Touch Solutions <penmount <at> seed.net.tw>
 */

/*
 * This program is free software; you can redistribute it and/or modify it
 * under the terms of the GNU General Public License as published by the Free
 * Software Foundation; either version 2 of the License, or (at your option)
 * any later version.
 */

#include <linux/module.h>
#include <linux/hid.h>
#include "hid-ids.h"

static int penmount_input_mapping(struct hid_device *hdev,
		struct hid_input *hi, struct hid_field *field,
		struct hid_usage *usage, unsigned long **bit, int *max)
{
	if ((usage->hid & HID_USAGE_PAGE) == HID_UP_BUTTON) {
		hid_map_usage(hi, usage, bit, max, EV_KEY, BTN_TOUCH);
		return 1;
	}

	return 0;
}

static const struct hid_device_id penmount_devices[] = {
	{ HID_USB_DEVICE(USB_VENDOR_ID_PENMOUNT, USB_DEVICE_ID_PENMOUNT_6000) },
	{ }
};
MODULE_DEVICE_TABLE(hid, penmount_devices);

static struct hid_driver penmount_driver = {
	.name = "hid-penmount",
	.id_table = penmount_devices,
	.input_mapping = penmount_input_mapping,
};

module_hid_driver(penmount_driver);

MODULE_AUTHOR("Christian Gmeiner <christian.gmeiner@gmail.com>");
MODULE_DESCRIPTION("PenMount HID TouchScreen driver");
MODULE_LICENSE("GPL");
back to top