- 17 10月, 2008 40 次提交
-
-
由 Jean Delvare 提交于
Function RANGE_TO_REG can easily be simplified. Credits go to Herbert Poetzl for indirectly suggesting this to me. I tested that the new implementation returns the same result as the original implementation for all input values. Signed-off-by: NJean Delvare <khali@linux-fr.org> Acked-by: NHerbert Poetzl <herbert@13thfloor.at>
-
由 Jean Delvare 提交于
The new-style lm85 driver implements the optional detect() callback to cover the use cases of the legacy driver. Signed-off-by: NJean Delvare <khali@linux-fr.org> Acked-by: NHerbert Poetzl <herbert@13thfloor.at>
-
由 Jean Delvare 提交于
The Analog Devices and SMSC devices supported by the lm85 driver do not have the same PWM frequency table as the National Semiconductor devices. Add support for per-device frequency tables. Signed-off-by: NJean Delvare <khali@linux-fr.org> Acked-by: NHerbert Poetzl <herbert@13thfloor.at>
-
由 Jean Delvare 提交于
The LM85 and compatible chips only support 8 arbitrary PWM frequencies. The algorithm to pick one of them based on the user input is not optimum. Improve it to always pick the closest supported frequency. Signed-off-by: NJean Delvare <khali@linux-fr.org> Acked-by: NHerbert Poetzl <herbert@13thfloor.at>
-
由 Jean Delvare 提交于
Implement the standard PWM frequency interface: pwm[1-*]_freq in units of 1 Hz, instead of the non-standard pwm[1-*]_auto_pwm_freq in units of 0.1 Hz. The old naming was not only non-standard, it was also confusing, because it suggested that the frequency value only applied in automatic fan speed mode, which isn't true. Signed-off-by: NJean Delvare <khali@linux-fr.org> Acked-by: NHerbert Poetzl <herbert@13thfloor.at>
-
由 Jean Delvare 提交于
Rework the device detection to make it clearer and faster in the general case (when a known device is found.) Signed-off-by: NJean Delvare <khali@linux-fr.org> Acked-by: NHerbert Poetzl <herbert@13thfloor.at>
-
由 Dmitry Torokhov 提交于
Simplify the IRQ handling routine of ams driver. Signed-off-by: NDmitry Torokhov <dtor@mail.ru> Signed-off-by: NJohannes Berg <johannes@sipsolutions.net> Signed-off-by: NJean Delvare <khali@linux-fr.org>
-
由 Dmitry Torokhov 提交于
Use a separate mutex to serialize input device creation/removal, otheriwse we deadlock if we try to remove input device while it is being polled. Also do not take ams_info.lock when it is not needed. Signed-off-by: NDmitry Torokhov <dtor@mail.ru> Signed-off-by: NJohannes Berg <johannes@sipsolutions.net> Signed-off-by: NJean Delvare <khali@linux-fr.org>
-
由 Dmitry Torokhov 提交于
We should not allow writes to the 'joystick' module parameters since writing there will not trigger creation of the input device. Disable writes since we provide alternative way of enabling input device via AMS device's sysfs attribute. Signed-off-by: NDmitry Torokhov <dtor@mail.ru> Acked-by: NJohannes Berg <johannes@sipsolutions.net> Signed-off-by: NJean Delvare <khali@linux-fr.org>
-
由 Jean Delvare 提交于
The legacy i2c binding model is phasing out, so the ams driver needs to be converted to a new-style i2c driver. Here is a naive approach of this conversion. Basically it is moving the i2c device creation from the ams driver to the i2c-powermac driver. This should work, but I suspect we could come up with something cleaner by declaring the i2c device as part of the platform setup. This could be done later by someone more familiar with openfirmware-based platforms than I am myself. One nice thing brought by this conversion is that the ams driver should be loaded automatically on systems where is is needed (at least when the I2C interface to the chip is used) providing coldplug-aware user-space environment. Signed-off-by: NJean Delvare <khali@linux-fr.org> Acked-by: NJohannes Berg <johannes@sipsolutions.net> Cc: Stelian Pop <stelian@popies.net> Cc: Michael Hanselmann <linux-kernel@hansmi.ch> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
-
由 Ben Hutchings 提交于
The lm87 driver normally assumes that firmware configured the chip correctly. Since this is not always the case, alllow platform code to set the channel register value via platform_data. All other configuration registers can be changed after driver initialisation. Signed-off-by: NBen Hutchings <bhutchings@solarflare.com> Signed-off-by: NJean Delvare <khali@linux-fr.org>
-
由 Ben Hutchings 提交于
This means that if we have to start the monitor when probed, we also stop it on removal. Signed-off-by: NBen Hutchings <bhutchings@solarflare.com> Signed-off-by: NJean Delvare <khali@linux-fr.org>
-
由 Ben Hutchings 提交于
lm87_init_client() conditionally sets the Start bit and clears the INT#_Clear bit in the Config 1 register. The condition should be that either of these bits needs changing, but currently it checks the (self-clearing) Initialization bit instead of INT#_Clear. Fix the condition and also ensure we never set the Initialization bit. Signed-off-by: NBen Hutchings <bhutchings@solarflare.com> Signed-off-by: NJean Delvare <khali@linux-fr.org>
-
由 Jean Delvare 提交于
Degrade the "Unsupported chip" message from info to debug level. There's nothing wrong with this, so no need to bother the user. Also make the message slightly more descriptive. Signed-off-by: NJean Delvare <khali@linux-fr.org> Acked-by: NMartyn Welch <martyn.welch@gefanuc.com>
-
由 Ben Hutchings 提交于
These Maxim chips are similar to MAX6657 but use unsigned temperature values to allow for readings up to 145 degrees. Signed-off-by: NBen Hutchings <bhutchings@solarflare.com> Signed-off-by: NJean Delvare <khali@linux-fr.org>
-
由 Ben Hutchings 提交于
The encoding of temperatures varies between chips and modes. So do not use "temp1" or "temp2" in the names of the conversion functions, but specify the encoding. Signed-off-by: NBen Hutchings <bhutchings@solarflare.com> Signed-off-by: NJean Delvare <khali@linux-fr.org> Tested-by: NMartyn Welch <martyn.welch@gefanuc.com>
-
由 Nate Case 提交于
Support ADT7461 in extended temperature range mode, which will change the range of readings from 0..127 to -64..191 degC. Adjust the register conversion functions accordingly. Signed-off-by: NNate Case <ncase@xes-inc.com> Signed-off-by: NJean Delvare <khali@linux-fr.org> Tested-by: NMartyn Welch <martyn.welch@gefanuc.com>
-
由 Nate Case 提交于
Use static functions instead of the TEMPx_FROM_REG* and TEMPx_TO_REG* macros. This will ensure type safety and eliminate any side effects from arguments passed in since the macros referenced 'val' multiple times. This change should not affect functionality. Signed-off-by: NNate Case <ncase@xes-inc.com> Signed-off-by: NJean Delvare <khali@linux-fr.org> Tested-by: NMartyn Welch <martyn.welch@gefanuc.com>
-
由 Jean Delvare 提交于
Update the links to the datasheet of some of the devices supported by the lm90 driver. Also remove the links from the driver itself, so that we don't have to update them twice each time they change. Signed-off-by: NJean Delvare <khali@linux-fr.org> Acked-by: NMartyn Welch <martyn.welch@gefanuc.com>
-
由 Jean Delvare 提交于
The Maxim chips supported by the lm90 driver have 8-bit high and low remote limit values, not 11-bit as the other chips have. So stop reading from and writing to registers that do not exist on these chips. Also round the limit values set by the user properly. Signed-off-by: NJean Delvare <khali@linux-fr.org> Acked-by: NMartyn Welch <martyn.welch@gefanuc.com>
-
由 Jean Delvare 提交于
The Maxim MAX6657, MAX6658 and MAX6659 have extra resolution bits for the local temperature measurement. Let the lm90 driver read them and export them to user-space. Signed-off-by: NJean Delvare <khali@linux-fr.org> Acked-by: NMartyn Welch <martyn.welch@gefanuc.com>
-
由 Jean Delvare 提交于
Move the code which aggregates two 8-bit register values into a 16-bit value to a separate function. We'll need to do it a second time soon and I don't want to duplicate the code. Signed-off-by: NJean Delvare <khali@linux-fr.org> Acked-by: NMartyn Welch <martyn.welch@gefanuc.com>
-
由 Linus Torvalds 提交于
I dunno how this missed Bjorn and his quest to use %pF in commit c80cfb04 ("vsprintf: use new vsprintf symbolic function pointer format"), but it did. So use %pF in the two remaining places that still tried to print out function pointers by hand. Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
-
由 Geert Uytterhoeven 提交于
With m68k allmodconfig, I get: | drivers/rtc/rtc-ds1286.c: In function 'ds1286_rtc_read': | drivers/rtc/rtc-ds1286.c:33: error: implicit declaration of function '__raw_readl' | drivers/rtc/rtc-ds1286.c: In function 'ds1286_rtc_write': | drivers/rtc/rtc-ds1286.c:38: error: implicit declaration of function '__raw_writel' | drivers/rtc/rtc-ds1286.c: In function 'ds1286_probe': | drivers/rtc/rtc-ds1286.c:345: error: implicit declaration of function 'ioremap' | drivers/rtc/rtc-ds1286.c:345: warning: assignment makes pointer from integer without a cast | drivers/rtc/rtc-ds1286.c:365: error: implicit declaration of function 'iounmap' and | drivers/rtc/rtc-m48t35.c: In function 'm48t35_read_time': | drivers/rtc/rtc-m48t35.c:59: error: implicit declaration of function 'readb' | drivers/rtc/rtc-m48t35.c:60: error: implicit declaration of function 'writeb' | drivers/rtc/rtc-m48t35.c: In function 'm48t35_probe': | drivers/rtc/rtc-m48t35.c:168: error: implicit declaration of function 'ioremap' | drivers/rtc/rtc-m48t35.c:168: warning: assignment makes pointer from integer without a cast | drivers/rtc/rtc-m48t35.c:188: error: implicit declaration of function 'iounmap' Include <linux/io.h> to get access to the I/O API. Signed-off-by: NGeert Uytterhoeven <geert@linux-m68k.org> Acked-by: NThomas Bogendoerfer <tsbogend@alpha.franken.de> Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
-
由 Julia Lawall 提交于
The kernel.h macro DIV_ROUND_UP performs the computation (((n) + (d) - 1) / (d)) but is perhaps more readable. An extract of the semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // <smpl> @haskernel@ @@ #include <linux/kernel.h> @depends on haskernel@ expression n,d; @@ ( - (n + d - 1) / d + DIV_ROUND_UP(n,d) | - (n + (d - 1)) / d + DIV_ROUND_UP(n,d) ) @depends on haskernel@ expression n,d; @@ - DIV_ROUND_UP((n),d) + DIV_ROUND_UP(n,d) @depends on haskernel@ expression n,d; @@ - DIV_ROUND_UP(n,(d)) + DIV_ROUND_UP(n,d) // </smpl> Signed-off-by: NJulia Lawall <julia@diku.dk> Acked-by: NJeremy Fitzhardinge <jeremy@goop.org> Signed-off-by: NAndrew Morton <akpm@linux-foundation.org> Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
-
由 Adrian Bunk 提交于
Make the needlessly global hp_wmi_notify() static. Signed-off-by: NAdrian Bunk <bunk@kernel.org> Signed-off-by: NAndrew Morton <akpm@linux-foundation.org> Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
-
由 Magnus Damm 提交于
Add resource_type() and IORESOURCE_TYPE_BITS. They make it easier to add more resource types without having to rewrite tons of code. Signed-off-by: NMagnus Damm <damm@igel.co.jp> Cc: Ben Dooks <ben-linux@fluff.org> Cc: Jean Delvare <khali@linux-fr.org> Cc: Paul Mundt <lethal@linux-sh.org> Signed-off-by: NAndrew Morton <akpm@linux-foundation.org> Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
-
由 Jack Steiner 提交于
A few minor updates for the GRU driver. - documentation changes found in code reviews - changes to #ifdefs to make them recognized by "unifdef" (used in simulator testing) - change GRU context load/unload to prefetch data [akpm@linux-foundation.org: fix typo in comment] Signed-off-by: NJack Steiner <steiner@sgi.com> Signed-off-by: NAndrew Morton <akpm@linux-foundation.org> Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
-
由 Bernhard Weirich 提交于
[akpm@linux-foundation.org: minor fixlets and cleanups] Signed-off-by: NBernhard Weirich <bernhard.weirich@riedel.net> Signed-off-by: NEvgeniy Polyakov <johnpol@2ka.mipt.ru> Cc: Ben Gardner <bgardner@wabtec.com> Signed-off-by: NAndrew Morton <akpm@linux-foundation.org> Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
-
由 David Fries 提交于
Optimize the ds_set_pullup function. For a strong pullup to be sent the ds2490 has to have both the strong pullup mode enabled, and the specific write operation has to have the SPU bit enabled. Previously the write always had the SPU bit enabled and both the duration and model was set when a strong pullup was requested. Now the strong pullup mode is enabled at initialization time, the delay is updated only when the value changes, and the write SPU bit is set only when a strong pullup is required. This removes two or three bus transactions per strong pullup request. Signed-off-by: NDavid Fries <david@fries.net> Signed-off-by: NEvgeniy Polyakov <johnpol@2ka.mipt.ru> Signed-off-by: NAndrew Morton <akpm@linux-foundation.org> Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
-
由 David Fries 提交于
Drop the extra ds_wait_status() in ds_write_block(). Signed-off-by: NDavid Fries <david@fries.net> Signed-off-by: NEvgeniy Polyakov <johnpol@2ka.mipt.ru> Signed-off-by: NAndrew Morton <akpm@linux-foundation.org> Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
-
由 David Fries 提交于
This replaces some magic numbers with marcos and corrects one marco. Signed-off-by: NDavid Fries <david@fries.net> Signed-off-by: NEvgeniy Polyakov <johnpol@2ka.mipt.ru> Signed-off-by: NAndrew Morton <akpm@linux-foundation.org> Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
-
由 David Fries 提交于
Reset the device in init as it can be in a bad state. This is necessary because a block write will wait for data to be placed in the output buffer and block any later commands which will keep accumulating and the device will not be idle. Another case is removing the ds2490 module while a bus search is in progress, somehow a few commands get through, but the input transfers fail leaving data in the input buffer. This will cause the next read to fail see the note in ds_recv_data. Signed-off-by: NDavid Fries <david@fries.net> Signed-off-by: NEvgeniy Polyakov <johnpol@2ka.mipt.ru> Signed-off-by: NAndrew Morton <akpm@linux-foundation.org> Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
-
由 David Fries 提交于
ds_reset no longer calls ds_wait_status, the result wasn't used and it would only delay the following data operations. Signed-off-by: NDavid Fries <david@fries.net> Signed-off-by: NEvgeniy Polyakov <johnpol@2ka.mipt.ru> Signed-off-by: NAndrew Morton <akpm@linux-foundation.org> Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
-
由 David Fries 提交于
- add result register #defines - rename ds_dump_status to ds_print_msg - rename ds_recv_status to ds_dump_status - ds_dump_status prints the requested status and no longer reads the status, this is because the second status read can return different data for example the result register - the result register will be printed, though limited to detecting a new device, detecting other values such as a short would require additional reporting methods - ST_EPOF was moved to ds_wait_status to clear the error condition sooner Signed-off-by: NDavid Fries <david@fries.net> Signed-off-by: NEvgeniy Polyakov <johnpol@2ka.mipt.ru> Signed-off-by: NAndrew Morton <akpm@linux-foundation.org> Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
-
由 David Fries 提交于
Simplify and fix ds_touch_bit. If a device is attached in the middle of a bus search the status register will return more than the default 16 bytes. The additional bytes indicate that it has detected a new device. The way ds_wait_status is coded, if it doesn't read 16 status bytes it returns an error value. ds_touch_bit then will detect that error and return an error. In that case it doesn't read the input buffer and returns uninitialized data. It doesn't stop there. The next transaction will not expect the extra byte in the input buffer and the short read will cause an error and clear out both the old byte and new data in the input buffer. Just ignore the value of ds_wait_status. It is still required to wait until ds2490 is again idle and there is data to read when ds_recv_data is called. This also removes the while loop. None of the other commands wait and verify that the issued command is in the status register. Signed-off-by: NDavid Fries <david@fries.net> Signed-off-by: NEvgeniy Polyakov <johnpol@2ka.mipt.ru> Signed-off-by: NAndrew Morton <akpm@linux-foundation.org> Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
-
由 David Fries 提交于
Don't export read and write bit operations, they didn't work, they weren't used, and they can't be made to work. The one wire low level bit operations expect to set high or low levels, the ds2490 hardware only supports complete read or write time slots, better to just comment them out. Signed-off-by: NDavid Fries <david@fries.net> Signed-off-by: NEvgeniy Polyakov <johnpol@2ka.mipt.ru> Signed-off-by: NAndrew Morton <akpm@linux-foundation.org> Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
-
由 David Fries 提交于
ds_write_bit doesn't read the input buffer, so add COMM_ICP and a comment that it will no longer generate a read back data byte. If there is an extra data byte later on then it will cause an error and discard what data was there. Corrected operator ordering for ds_send_control. Signed-off-by: NDavid Fries <david@fries.net> Signed-off-by: NEvgeniy Polyakov <johnpol@2ka.mipt.ru> Signed-off-by: NAndrew Morton <akpm@linux-foundation.org> Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
-
由 David Fries 提交于
Add strong pullup support for ds2490 driver, also drop mdelay(750), which busy waits, usage in favour of msleep for long delays. Now with msleep only being called when the strong pullup is active, one wire bus operations are only taking minimal system overhead. The new set_pullup will only enable the strong pullup when requested, which is expected to be the only write operation that will benefit from a strong pullup. Signed-off-by: NDavid Fries <david@fries.net> Signed-off-by: NEvgeniy Polyakov <johnpol@2ka.mipt.ru> Signed-off-by: NAndrew Morton <akpm@linux-foundation.org> Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
-
由 David Fries 提交于
Corrected print message, it was writing not reading, this also prints the endpoint used for the write instead of hardcoding it. Failed to write 1-wire data to ep0x%x: err=%d. Signed-off-by: NDavid Fries <david@fries.net> Signed-off-by: NEvgeniy Polyakov <johnpol@2ka.mipt.ru> Signed-off-by: NAndrew Morton <akpm@linux-foundation.org> Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
-