diff --git a/Makefile.dkms b/Makefile.dkms index 3a06762..b7c0d15 100644 --- a/Makefile.dkms +++ b/Makefile.dkms @@ -13,12 +13,12 @@ src_install: sed 's/#MODULE_VERSION#/$(modver)/' dkms/dkms.conf > '$(DKMS_DEST)/dkms.conf' build: src_install - $(DKMS) build 'bbswitch/$(modver)' + $(DKMS) build -m bbswitch -v $(modver) install: build - $(DKMS) install 'bbswitch/$(modver)' + $(DKMS) install -m bbswitch -v $(modver) uninstall: - $(DKMS) remove bbswitch/$(modver) --all + $(DKMS) remove -m bbswitch -v $(modver) --all .PHONY: all src_install build install uninstall diff --git a/NEWS b/NEWS index 2f08c50..71252fd 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,13 @@ +* Improved compatibility with older DKMS versions. + +Version 0.4.2 - 26 April 2012 + +* Fixed a documentation error on unload_state. +* Added Makefile.dkms and documentation for easier installation using DKMS. +* Make /proc/acpi/bbswitch world-writable +* Fix NULL pointer dereference when reporting a failure during ACPI method + evaluation. + Version 0.4.1 - 16 January 2012 * Corrected a small error that yielded an confusing error message "The discrete diff --git a/README.md b/README.md index c282a34..c740ae9 100644 --- a/README.md +++ b/README.md @@ -40,8 +40,8 @@ DKMS support If you have DKMS installed, you can install bbswitch in such a way that it survives kernel upgrades. It is recommended to remove older versions of bbswitch -by running `dkms remove bbswitch/OLDVERSION --all` as root. To install the new -version, simply run: +by running `dkms remove -m bbswitch -v OLDVERSION --all` as root. To install +the new version, simply run: # make -f Makefile.dkms @@ -116,7 +116,7 @@ The module has some options that control the behavior on loading and unloading: `load_state` and `unload_state`. Valid values are `-1`, `0` and `1` meaning "do not change the card state", "turn the card off" and "turn the card on" respectively. For example, if you want to have `bbswitch` disable the card -immediately when loading the module while disabling the card on unload, load the +immediately when loading the module while enabling the card on unload, load the module with: # modprobe bbswitch load_state=0 unload_state=1 diff --git a/bbswitch.c b/bbswitch.c index aa0f2a5..ca79e0d 100644 --- a/bbswitch.c +++ b/bbswitch.c @@ -16,7 +16,7 @@ #include #include -#define BBSWITCH_VERSION "0.4.1" +#define BBSWITCH_VERSION "0.4.2" MODULE_LICENSE("GPL"); MODULE_DESCRIPTION("Toggle the discrete graphics card"); @@ -71,12 +71,11 @@ static struct notifier_block nb; /* whether the card was off before suspend or not; on: 0, off: 1 */ int dis_before_suspend_disabled; -static char *buffer_to_string(const char buffer[], char *target) { +static char *buffer_to_string(const char *buffer, size_t n, char *target) { int i; - for (i=0; i