mirror of
				https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
				synced 2025-10-31 09:36:25 +00:00 
			
		
		
		
	 4aa323bd83
			
		
	
	
		4aa323bd83
		
	
	
	
	
		
			
			The DS1WM driver incorrectly infers the IAS bit (1-wire interrupt active high) from IRQ settings. There are devices that have IAS=0 but still need the IRQ to trigger on a rising edge. With this patch, machines with DS1WM that need IAS=1 have to set .active_high=1 in the ds1wm_platform_data. Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com> Acked-by: Evgeniy Polyakov <johnpol@2ka.mipt.ru> Acked-by: Matt Reimer <mreimer@vpop.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
		
			
				
	
	
		
			13 lines
		
	
	
		
			428 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			13 lines
		
	
	
		
			428 B
		
	
	
	
		
			C
		
	
	
	
	
	
| /* platform data for the DS1WM driver */
 | |
| 
 | |
| struct ds1wm_platform_data {
 | |
| 	int bus_shift;	    /* number of shifts needed to calculate the
 | |
| 			     * offset between DS1WM registers;
 | |
| 			     * e.g. on h5xxx and h2200 this is 2
 | |
| 			     * (registers aligned to 4-byte boundaries),
 | |
| 			     * while on hx4700 this is 1 */
 | |
| 	int active_high;
 | |
| 	void (*enable)(struct platform_device *pdev);
 | |
| 	void (*disable)(struct platform_device *pdev);
 | |
| };
 |