forked from mirrors/linux
		
	 25df73d933
			
		
	
	
		25df73d933
		
	
	
	
	
		
			
			Make it explicit that ATA host templates are not modified. Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Acked-by: Damien Le Moal <damien.lemoal@opensource.wdc.com> Reviewed-by: Serge Semin <fancer.lancer@gmail.com> (for DWC AHCI SATA) Reviewed-by: John Garry <john.g.garry@oracle.com> Reviewed-by: Jon Hunter <jonathanh@nvidia.com> (for Tegra) Cc: Christoph Hellwig <hch@lst.de> Cc: Ming Lei <ming.lei@redhat.com> Cc: Hannes Reinecke <hare@suse.de> Cc: John Garry <john.g.garry@oracle.com> Cc: Mike Christie <michael.christie@oracle.com> Signed-off-by: Bart Van Assche <bvanassche@acm.org> Link: https://lore.kernel.org/r/20230322195515.1267197-5-bvanassche@acm.org Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
		
			
				
	
	
		
			52 lines
		
	
	
	
		
			1.8 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			52 lines
		
	
	
	
		
			1.8 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /* SPDX-License-Identifier: GPL-2.0-or-later */
 | |
| /*
 | |
|  * AHCI SATA platform driver
 | |
|  *
 | |
|  * Copyright 2004-2005  Red Hat, Inc.
 | |
|  *   Jeff Garzik <jgarzik@pobox.com>
 | |
|  * Copyright 2010  MontaVista Software, LLC.
 | |
|  *   Anton Vorontsov <avorontsov@ru.mvista.com>
 | |
|  */
 | |
| 
 | |
| #ifndef _AHCI_PLATFORM_H
 | |
| #define _AHCI_PLATFORM_H
 | |
| 
 | |
| #include <linux/compiler.h>
 | |
| 
 | |
| struct clk;
 | |
| struct device;
 | |
| struct ata_port_info;
 | |
| struct ahci_host_priv;
 | |
| struct platform_device;
 | |
| struct scsi_host_template;
 | |
| 
 | |
| int ahci_platform_enable_phys(struct ahci_host_priv *hpriv);
 | |
| void ahci_platform_disable_phys(struct ahci_host_priv *hpriv);
 | |
| struct clk *ahci_platform_find_clk(struct ahci_host_priv *hpriv,
 | |
| 				   const char *con_id);
 | |
| int ahci_platform_enable_clks(struct ahci_host_priv *hpriv);
 | |
| void ahci_platform_disable_clks(struct ahci_host_priv *hpriv);
 | |
| int ahci_platform_deassert_rsts(struct ahci_host_priv *hpriv);
 | |
| int ahci_platform_assert_rsts(struct ahci_host_priv *hpriv);
 | |
| int ahci_platform_enable_regulators(struct ahci_host_priv *hpriv);
 | |
| void ahci_platform_disable_regulators(struct ahci_host_priv *hpriv);
 | |
| int ahci_platform_enable_resources(struct ahci_host_priv *hpriv);
 | |
| void ahci_platform_disable_resources(struct ahci_host_priv *hpriv);
 | |
| struct ahci_host_priv *ahci_platform_get_resources(
 | |
| 	struct platform_device *pdev, unsigned int flags);
 | |
| int ahci_platform_init_host(struct platform_device *pdev,
 | |
| 			    struct ahci_host_priv *hpriv,
 | |
| 			    const struct ata_port_info *pi_template,
 | |
| 			    const struct scsi_host_template *sht);
 | |
| 
 | |
| void ahci_platform_shutdown(struct platform_device *pdev);
 | |
| 
 | |
| int ahci_platform_suspend_host(struct device *dev);
 | |
| int ahci_platform_resume_host(struct device *dev);
 | |
| int ahci_platform_suspend(struct device *dev);
 | |
| int ahci_platform_resume(struct device *dev);
 | |
| 
 | |
| #define AHCI_PLATFORM_GET_RESETS	BIT(0)
 | |
| #define AHCI_PLATFORM_RST_TRIGGER	BIT(1)
 | |
| 
 | |
| #endif /* _AHCI_PLATFORM_H */
 |