forked from mirrors/linux
		
	serial: 8250_dw: Add quirk for APM X-Gene SoC
The APM X-Gene SoC UART is the only board that still needs the hard-coded values, so handle it separately in dw8250_quirks(). The other ACPI platforms are able to provide the values with device properties. Signed-off-by: Heikki Krogerus <heikki.krogerus@linux.intel.com> Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
This commit is contained in:
		
							parent
							
								
									a5565cf238
								
							
						
					
					
						commit
						20a875e2e8
					
				
					 1 changed files with 10 additions and 5 deletions
				
			
		|  | @ -298,12 +298,17 @@ static void dw8250_quirks(struct uart_port *p, struct dw8250_data *data) | ||||||
| 			p->serial_out = dw8250_serial_out32be; | 			p->serial_out = dw8250_serial_out32be; | ||||||
| 		} | 		} | ||||||
| 	} else if (has_acpi_companion(p->dev)) { | 	} else if (has_acpi_companion(p->dev)) { | ||||||
| 		p->iotype = UPIO_MEM32; | 		const struct acpi_device_id *id; | ||||||
| 		p->regshift = 2; | 
 | ||||||
| 		p->serial_in = dw8250_serial_in32; | 		id = acpi_match_device(p->dev->driver->acpi_match_table, | ||||||
|  | 				       p->dev); | ||||||
|  | 		if (id && !strcmp(id->id, "APMC0D08")) { | ||||||
|  | 			p->iotype = UPIO_MEM32; | ||||||
|  | 			p->regshift = 2; | ||||||
|  | 			p->serial_in = dw8250_serial_in32; | ||||||
|  | 			data->uart_16550_compatible = true; | ||||||
|  | 		} | ||||||
| 		p->set_termios = dw8250_set_termios; | 		p->set_termios = dw8250_set_termios; | ||||||
| 		/* So far none of there implement the Busy Functionality */ |  | ||||||
| 		data->uart_16550_compatible = true; |  | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	/* Platforms with iDMA */ | 	/* Platforms with iDMA */ | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue
	
	 Heikki Krogerus
						Heikki Krogerus