linux-scsi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 3/3] debloat aic7xxx and aic79xx drivers
  2007-08-31 15:16   ` [PATCH 2/3] " Denys Vlasenko
@ 2007-08-31 15:17     ` Denys Vlasenko
  2007-09-24 10:24       ` Hannes Reinecke
  0 siblings, 1 reply; 24+ messages in thread
From: Denys Vlasenko @ 2007-08-31 15:17 UTC (permalink / raw)
  To: Hannes Reinecke
  Cc: Jan Engelhardt, Matthew Wilcox, Arjan van de Ven, Adrian Bunk,
	Andrew Morton, linux-scsi, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 886 bytes --]

On Friday 31 August 2007 16:16, Denys Vlasenko wrote:
> On Friday 31 August 2007 16:15, Denys Vlasenko wrote:
> > On Friday 31 August 2007 16:13, Denys Vlasenko wrote:
> > > Attached are three patches which fix that:
> > > 
> > >    text    data     bss     dec     hex filename
> > >  261433   50018    1172  312623   4c52f linux-2.6.23-rc1.org.t/drivers/scsi/aic7xxx/built-in.o
> > >  199654   50018    1172  250844   3d3dc linux-2.6.23-rc1.aic.t/drivers/scsi/aic7xxx/built-in.o
> > >  184014   21314    1172  206500   326a4 linux-2.6.23-rc1.aic1.t/drivers/scsi/aic7xxx/built-in.o
> > >  202378    2850    1172  206400   32640 linux-2.6.23-rc1.aic2.t/drivers/scsi/aic7xxx/built-in.o
> > > 
> > > 1-debloat.patch    deinlines a lot of functions
> > > 2-addstatic.patch  adds statics, #ifdefs out huge amount of unused code, adds consts
> > > 3-addconst.patch   adds more consts
--
vda

[-- Attachment #2: linux-2.6.23-rc1-aic7xxx-3-addconst.patch.bz2 --]
[-- Type: application/x-bzip2, Size: 4229 bytes --]

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [PATCH 3/3] debloat aic7xxx and aic79xx drivers
  2007-08-31 15:17     ` [PATCH 3/3] " Denys Vlasenko
@ 2007-09-24 10:24       ` Hannes Reinecke
  0 siblings, 0 replies; 24+ messages in thread
From: Hannes Reinecke @ 2007-09-24 10:24 UTC (permalink / raw)
  To: Denys Vlasenko
  Cc: Jan Engelhardt, Matthew Wilcox, Arjan van de Ven, Adrian Bunk,
	Andrew Morton, linux-scsi, linux-kernel

Denys Vlasenko wrote:
> On Friday 31 August 2007 16:16, Denys Vlasenko wrote:
>> On Friday 31 August 2007 16:15, Denys Vlasenko wrote:
>>> On Friday 31 August 2007 16:13, Denys Vlasenko wrote:
>>>> Attached are three patches which fix that:
>>>>
>>>>    text    data     bss     dec     hex filename
>>>>  261433   50018    1172  312623   4c52f linux-2.6.23-rc1.org.t/drivers/scsi/aic7xxx/built-in.o
>>>>  199654   50018    1172  250844   3d3dc linux-2.6.23-rc1.aic.t/drivers/scsi/aic7xxx/built-in.o
>>>>  184014   21314    1172  206500   326a4 linux-2.6.23-rc1.aic1.t/drivers/scsi/aic7xxx/built-in.o
>>>>  202378    2850    1172  206400   32640 linux-2.6.23-rc1.aic2.t/drivers/scsi/aic7xxx/built-in.o
>>>>
>>>> 1-debloat.patch    deinlines a lot of functions
>>>> 2-addstatic.patch  adds statics, #ifdefs out huge amount of unused code, adds consts
>>>> 3-addconst.patch   adds more consts

Signed-off-by: Hannes Reinecke <hare@suse.de>

Cheers,

Hannes
-- 
Dr. Hannes Reinecke		      zSeries & Storage
hare@suse.de			      +49 911 74053 688
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: Markus Rex, HRB 16746 (AG Nürnberg)
-
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 24+ messages in thread

* [PATCH 3/3] debloat aic7xxx and aic79xx drivers
  2007-10-14 15:01   ` [PATCH 2/3] " Denys Vlasenko
@ 2007-10-14 15:02     ` Denys Vlasenko
  2007-11-01 22:16       ` Matthew Wilcox
  0 siblings, 1 reply; 24+ messages in thread
From: Denys Vlasenko @ 2007-10-14 15:02 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Hannes Reinecke, linux-scsi, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 83 bytes --]

Adds more consts

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
--
vda


[-- Attachment #2: linux-2.6.23-aic-3-addconst.patch --]
[-- Type: text/x-diff, Size: 22270 bytes --]

diff -urpN linux-2.6.23-aic-2-addstatic/drivers/scsi/aic7xxx/aic79xx.h linux-2.6.23-aic-3-addconst/drivers/scsi/aic7xxx/aic79xx.h
--- linux-2.6.23-aic-2-addstatic/drivers/scsi/aic7xxx/aic79xx.h	2007-10-14 15:05:07.000000000 +0100
+++ linux-2.6.23-aic-3-addconst/drivers/scsi/aic7xxx/aic79xx.h	2007-10-14 15:21:55.000000000 +0100
@@ -813,9 +813,9 @@ struct ahd_tmode_tstate {
  * to parity errors in each phase table. 
  */
 struct ahd_phase_table_entry {
-        uint8_t phase;
-        uint8_t mesg_out; /* Message response to parity errors */
-	char *phasemsg;
+	uint8_t phase;
+	uint8_t mesg_out; /* Message response to parity errors */
+	const char *phasemsg;
 };
 
 /************************** Serial EEPROM Format ******************************/
@@ -1328,9 +1328,9 @@ extern const int ahd_num_aic7770_devs;
 /******************************************************************************/
 
 /***************************** PCI Front End *********************************/
-struct	ahd_pci_identity *ahd_find_pci_device(ahd_dev_softc_t);
+const struct	ahd_pci_identity *ahd_find_pci_device(ahd_dev_softc_t);
 int			  ahd_pci_config(struct ahd_softc *,
-					 struct ahd_pci_identity *);
+					 const struct ahd_pci_identity *);
 int	ahd_pci_test_register_access(struct ahd_softc *);
 
 /************************** SCB and SCB queue management **********************/
diff -urpN linux-2.6.23-aic-2-addstatic/drivers/scsi/aic7xxx/aic79xx_core.c linux-2.6.23-aic-3-addconst/drivers/scsi/aic7xxx/aic79xx_core.c
--- linux-2.6.23-aic-2-addstatic/drivers/scsi/aic7xxx/aic79xx_core.c	2007-10-14 15:05:07.000000000 +0100
+++ linux-2.6.23-aic-3-addconst/drivers/scsi/aic7xxx/aic79xx_core.c	2007-10-14 15:21:38.000000000 +0100
@@ -52,7 +52,7 @@
 
 
 /***************************** Lookup Tables **********************************/
-static char *ahd_chip_names[] =
+static const char *const ahd_chip_names[] =
 {
 	"NONE",
 	"aic7901",
@@ -65,11 +65,11 @@ static const u_int num_chip_names = ARRA
  * Hardware error codes.
  */
 struct ahd_hard_error_entry {
-        uint8_t errno;
-	char *errmesg;
+	uint8_t errno;
+	const char *errmesg;
 };
 
-static struct ahd_hard_error_entry ahd_hard_errors[] = {
+static const struct ahd_hard_error_entry ahd_hard_errors[] = {
 	{ DSCTMOUT,	"Discard Timer has timed out" },
 	{ ILLOPCODE,	"Illegal Opcode in sequencer program" },
 	{ SQPARERR,	"Sequencer Parity Error" },
@@ -79,7 +79,7 @@ static struct ahd_hard_error_entry ahd_h
 };
 static const u_int num_errors = ARRAY_SIZE(ahd_hard_errors);
 
-static struct ahd_phase_table_entry ahd_phase_table[] =
+static const struct ahd_phase_table_entry ahd_phase_table[] =
 {
 	{ P_DATAOUT,	MSG_NOOP,		"in Data-out phase"	},
 	{ P_DATAIN,	MSG_INITIATOR_DET_ERR,	"in Data-in phase"	},
@@ -213,7 +213,7 @@ static void		ahd_dumpseq(struct ahd_soft
 #endif
 static void		ahd_loadseq(struct ahd_softc *ahd);
 static int		ahd_check_patch(struct ahd_softc *ahd,
-					struct patch **start_patch,
+					const struct patch **start_patch,
 					u_int start_instr, u_int *skip_addr);
 static u_int		ahd_resolve_seqaddr(struct ahd_softc *ahd,
 					    u_int address);
@@ -254,7 +254,7 @@ static void		ahd_freeze_devq(struct ahd_
 					struct scb *scb);
 static void		ahd_handle_scb_status(struct ahd_softc *ahd,
 					      struct scb *scb);
-static struct ahd_phase_table_entry* ahd_lookup_phase_entry(int phase);
+static const struct ahd_phase_table_entry* ahd_lookup_phase_entry(int phase);
 static void		ahd_shutdown(void *arg);
 static void		ahd_update_coalescing_values(struct ahd_softc *ahd,
 						     u_int timer,
@@ -4337,11 +4337,11 @@ ahd_print_devinfo(struct ahd_softc *ahd,
 	       devinfo->target, devinfo->lun);
 }
 
-static struct ahd_phase_table_entry*
+static const struct ahd_phase_table_entry*
 ahd_lookup_phase_entry(int phase)
 {
-	struct ahd_phase_table_entry *entry;
-	struct ahd_phase_table_entry *last_entry;
+	const struct ahd_phase_table_entry *entry;
+	const struct ahd_phase_table_entry *last_entry;
 
 	/*
 	 * num_phases doesn't include the default entry which
@@ -9358,7 +9358,7 @@ ahd_loadseq(struct ahd_softc *ahd)
 	struct	cs cs_table[num_critical_sections];
 	u_int	begin_set[num_critical_sections];
 	u_int	end_set[num_critical_sections];
-	struct	patch *cur_patch;
+	const struct patch *cur_patch;
 	u_int	cs_count;
 	u_int	cur_cs;
 	u_int	i;
@@ -9513,11 +9513,11 @@ ahd_loadseq(struct ahd_softc *ahd)
 }
 
 static int
-ahd_check_patch(struct ahd_softc *ahd, struct patch **start_patch,
+ahd_check_patch(struct ahd_softc *ahd, const struct patch **start_patch,
 		u_int start_instr, u_int *skip_addr)
 {
-	struct	patch *cur_patch;
-	struct	patch *last_patch;
+	const struct patch *cur_patch;
+	const struct patch *last_patch;
 	u_int	num_patches;
 
 	num_patches = ARRAY_SIZE(patches);
@@ -9551,7 +9551,7 @@ ahd_check_patch(struct ahd_softc *ahd, s
 static u_int
 ahd_resolve_seqaddr(struct ahd_softc *ahd, u_int address)
 {
-	struct patch *cur_patch;
+	const struct patch *cur_patch;
 	int address_offset;
 	u_int skip_addr;
 	u_int i;
diff -urpN linux-2.6.23-aic-2-addstatic/drivers/scsi/aic7xxx/aic79xx_osm.c linux-2.6.23-aic-3-addconst/drivers/scsi/aic7xxx/aic79xx_osm.c
--- linux-2.6.23-aic-2-addstatic/drivers/scsi/aic7xxx/aic79xx_osm.c	2007-10-14 15:05:07.000000000 +0100
+++ linux-2.6.23-aic-3-addconst/drivers/scsi/aic7xxx/aic79xx_osm.c	2007-10-14 15:20:05.000000000 +0100
@@ -193,7 +193,7 @@ struct ahd_linux_iocell_opts
 #define AIC79XX_PRECOMP_INDEX	0
 #define AIC79XX_SLEWRATE_INDEX	1
 #define AIC79XX_AMPLITUDE_INDEX	2
-static struct ahd_linux_iocell_opts aic79xx_iocell_info[] =
+static const struct ahd_linux_iocell_opts aic79xx_iocell_info[] =
 {
 	AIC79XX_DEFAULT_IOOPTS,
 	AIC79XX_DEFAULT_IOOPTS,
@@ -557,13 +557,11 @@ ahd_linux_info(struct Scsi_Host *host)
 	bp = &buffer[0];
 	ahd = *(struct ahd_softc **)host->hostdata;
 	memset(bp, 0, sizeof(buffer));
-	strcpy(bp, "Adaptec AIC79XX PCI-X SCSI HBA DRIVER, Rev ");
-	strcat(bp, AIC79XX_DRIVER_VERSION);
-	strcat(bp, "\n");
-	strcat(bp, "        <");
+	strcpy(bp, "Adaptec AIC79XX PCI-X SCSI HBA DRIVER, Rev " AIC79XX_DRIVER_VERSION "\n"
+			"        <");
 	strcat(bp, ahd->description);
-	strcat(bp, ">\n");
-	strcat(bp, "        ");
+	strcat(bp, ">\n"
+			"        ");
 	ahd_controller_info(ahd, ahd_info);
 	strcat(bp, ahd_info);
 
@@ -1148,7 +1146,7 @@ aic79xx_setup(char *s)
 	char   *p;
 	char   *end;
 
-	static struct {
+	static const struct {
 		const char *name;
 		uint32_t *flag;
 	} options[] = {
@@ -1380,7 +1378,7 @@ ahd_platform_init(struct ahd_softc *ahd)
 	 * Lookup and commit any modified IO Cell options.
 	 */
 	if (ahd->unit < ARRAY_SIZE(aic79xx_iocell_info)) {
-		struct ahd_linux_iocell_opts *iocell_opts;
+		const struct ahd_linux_iocell_opts *iocell_opts;
 
 		iocell_opts = &aic79xx_iocell_info[ahd->unit];
 		if (iocell_opts->precomp != AIC79XX_DEFAULT_PRECOMP)
@@ -2767,7 +2765,7 @@ static void ahd_linux_set_pcomp_en(struc
 		uint8_t precomp;
 
 		if (ahd->unit < ARRAY_SIZE(aic79xx_iocell_info)) {
-			struct ahd_linux_iocell_opts *iocell_opts;
+			const struct ahd_linux_iocell_opts *iocell_opts;
 
 			iocell_opts = &aic79xx_iocell_info[ahd->unit];
 			precomp = iocell_opts->precomp;
diff -urpN linux-2.6.23-aic-2-addstatic/drivers/scsi/aic7xxx/aic79xx_osm_pci.c linux-2.6.23-aic-3-addconst/drivers/scsi/aic7xxx/aic79xx_osm_pci.c
--- linux-2.6.23-aic-2-addstatic/drivers/scsi/aic7xxx/aic79xx_osm_pci.c	2007-10-14 15:05:07.000000000 +0100
+++ linux-2.6.23-aic-3-addconst/drivers/scsi/aic7xxx/aic79xx_osm_pci.c	2007-10-14 15:20:05.000000000 +0100
@@ -58,7 +58,7 @@ static void	ahd_linux_pci_dev_remove(str
 	ID2C(x),         \
 	ID2C(IDIROC(x))
 
-static struct pci_device_id ahd_linux_pci_id_table[] = {
+static const struct pci_device_id ahd_linux_pci_id_table[] = {
 	/* aic7901 based controllers */
 	ID(ID_AHA_29320A),
 	ID(ID_AHA_29320ALP),
@@ -129,7 +129,7 @@ ahd_linux_pci_dev_probe(struct pci_dev *
 	char		 buf[80];
 	struct		 ahd_softc *ahd;
 	ahd_dev_softc_t	 pci;
-	struct		 ahd_pci_identity *entry;
+	const struct ahd_pci_identity *entry;
 	char		*name;
 	int		 error;
 	struct device	*dev = &pdev->dev;
diff -urpN linux-2.6.23-aic-2-addstatic/drivers/scsi/aic7xxx/aic79xx_pci.c linux-2.6.23-aic-3-addconst/drivers/scsi/aic7xxx/aic79xx_pci.c
--- linux-2.6.23-aic-2-addstatic/drivers/scsi/aic7xxx/aic79xx_pci.c	2007-10-14 15:05:07.000000000 +0100
+++ linux-2.6.23-aic-3-addconst/drivers/scsi/aic7xxx/aic79xx_pci.c	2007-10-14 15:20:05.000000000 +0100
@@ -97,7 +97,7 @@ static ahd_device_setup_t ahd_aic7901A_s
 static ahd_device_setup_t ahd_aic7902_setup;
 static ahd_device_setup_t ahd_aic790X_setup;
 
-static struct ahd_pci_identity ahd_pci_ident_table[] =
+static const struct ahd_pci_identity ahd_pci_ident_table[] =
 {
 	/* aic7901 based controllers */
 	{
@@ -253,7 +253,7 @@ static void	ahd_configure_termination(st
 static void	ahd_pci_split_intr(struct ahd_softc *ahd, u_int intstat);
 static void	ahd_pci_intr(struct ahd_softc *ahd);
 
-struct ahd_pci_identity *
+const struct ahd_pci_identity *
 ahd_find_pci_device(ahd_dev_softc_t pci)
 {
 	uint64_t  full_id;
@@ -261,7 +261,7 @@ ahd_find_pci_device(ahd_dev_softc_t pci)
 	uint16_t  vendor;
 	uint16_t  subdevice;
 	uint16_t  subvendor;
-	struct	  ahd_pci_identity *entry;
+	const struct ahd_pci_identity *entry;
 	u_int	  i;
 
 	vendor = ahd_pci_read_config(pci, PCIR_DEVVENDOR, /*bytes*/2);
@@ -292,7 +292,7 @@ ahd_find_pci_device(ahd_dev_softc_t pci)
 }
 
 int
-ahd_pci_config(struct ahd_softc *ahd, struct ahd_pci_identity *entry)
+ahd_pci_config(struct ahd_softc *ahd, const struct ahd_pci_identity *entry)
 {
 	struct scb_data *shared_scb_data;
 	u_int		 command;
diff -urpN linux-2.6.23-aic-2-addstatic/drivers/scsi/aic7xxx/aic79xx_proc.c linux-2.6.23-aic-3-addconst/drivers/scsi/aic7xxx/aic79xx_proc.c
--- linux-2.6.23-aic-2-addstatic/drivers/scsi/aic7xxx/aic79xx_proc.c	2007-10-14 15:05:07.000000000 +0100
+++ linux-2.6.23-aic-3-addconst/drivers/scsi/aic7xxx/aic79xx_proc.c	2007-10-14 15:20:05.000000000 +0100
@@ -57,7 +57,7 @@ static int	ahd_proc_write_seeprom(struct
  * Table of syncrates that don't follow the "divisible by 4"
  * rule. This table will be expanded in future SCSI specs.
  */
-static struct {
+static const struct {
 	u_int period_factor;
 	u_int period;	/* in 100ths of ns */
 } scsi_syncrates[] = {
diff -urpN linux-2.6.23-aic-2-addstatic/drivers/scsi/aic7xxx/aic79xx_seq.h_shipped linux-2.6.23-aic-3-addconst/drivers/scsi/aic7xxx/aic79xx_seq.h_shipped
--- linux-2.6.23-aic-2-addstatic/drivers/scsi/aic7xxx/aic79xx_seq.h_shipped	2007-10-14 15:05:07.000000000 +0100
+++ linux-2.6.23-aic-3-addconst/drivers/scsi/aic7xxx/aic79xx_seq.h_shipped	2007-10-14 15:20:05.000000000 +0100
@@ -1027,7 +1027,7 @@ ahd_patch0_func(struct ahd_softc *ahd)
 	return (0);
 }
 
-static struct patch {
+static const struct patch {
 	ahd_patch_func_t		*patch_func;
 	uint32_t		 begin		:10,
 				 skip_instr	:10,
@@ -1166,7 +1166,7 @@ static struct patch {
 	{ ahd_patch23_func, 815, 11, 1 }
 };
 
-static struct cs {
+static const struct cs {
 	uint16_t	begin;
 	uint16_t	end;
 } critical_sections[] = {
diff -urpN linux-2.6.23-aic-2-addstatic/drivers/scsi/aic7xxx/aic7xxx.h linux-2.6.23-aic-3-addconst/drivers/scsi/aic7xxx/aic7xxx.h
--- linux-2.6.23-aic-2-addstatic/drivers/scsi/aic7xxx/aic7xxx.h	2007-10-14 15:05:07.000000000 +0100
+++ linux-2.6.23-aic-3-addconst/drivers/scsi/aic7xxx/aic7xxx.h	2007-10-14 15:22:14.000000000 +0100
@@ -759,8 +759,8 @@ struct ahc_syncrate {
  * to parity errors in each phase table. 
  */
 struct ahc_phase_table_entry {
-        uint8_t phase;
-        uint8_t mesg_out; /* Message response to parity errors */
+	uint8_t phase;
+	uint8_t mesg_out; /* Message response to parity errors */
 	char *phasemsg;
 };
 
@@ -1124,7 +1124,7 @@ typedef int (ahc_device_setup_t)(struct 
 struct ahc_pci_identity {
 	uint64_t		 full_id;
 	uint64_t		 id_mask;
-	char			*name;
+	const char		*name;
 	ahc_device_setup_t	*setup;
 };
 
@@ -1145,9 +1145,9 @@ extern const int ahc_num_aic7770_devs;
 /******************************************************************************/
 
 /***************************** PCI Front End *********************************/
-struct ahc_pci_identity	*ahc_find_pci_device(ahc_dev_softc_t);
+const struct ahc_pci_identity	*ahc_find_pci_device(ahc_dev_softc_t);
 int			 ahc_pci_config(struct ahc_softc *,
-					struct ahc_pci_identity *);
+					const struct ahc_pci_identity *);
 int			 ahc_pci_test_register_access(struct ahc_softc *);
 
 /*************************** EISA/VL Front End ********************************/
diff -urpN linux-2.6.23-aic-2-addstatic/drivers/scsi/aic7xxx/aic7xxx_93cx6.c linux-2.6.23-aic-3-addconst/drivers/scsi/aic7xxx/aic7xxx_93cx6.c
--- linux-2.6.23-aic-2-addstatic/drivers/scsi/aic7xxx/aic7xxx_93cx6.c	2007-10-14 15:05:07.000000000 +0100
+++ linux-2.6.23-aic-3-addconst/drivers/scsi/aic7xxx/aic7xxx_93cx6.c	2007-10-14 15:20:05.000000000 +0100
@@ -84,16 +84,16 @@ struct seeprom_cmd {
 };
 
 /* Short opcodes for the c46 */
-static struct seeprom_cmd seeprom_ewen = {9, {1, 0, 0, 1, 1, 0, 0, 0, 0}};
-static struct seeprom_cmd seeprom_ewds = {9, {1, 0, 0, 0, 0, 0, 0, 0, 0}};
+static const struct seeprom_cmd seeprom_ewen = {9, {1, 0, 0, 1, 1, 0, 0, 0, 0}};
+static const struct seeprom_cmd seeprom_ewds = {9, {1, 0, 0, 0, 0, 0, 0, 0, 0}};
 
 /* Long opcodes for the C56/C66 */
-static struct seeprom_cmd seeprom_long_ewen = {11, {1, 0, 0, 1, 1, 0, 0, 0, 0}};
-static struct seeprom_cmd seeprom_long_ewds = {11, {1, 0, 0, 0, 0, 0, 0, 0, 0}};
+static const struct seeprom_cmd seeprom_long_ewen = {11, {1, 0, 0, 1, 1, 0, 0, 0, 0}};
+static const struct seeprom_cmd seeprom_long_ewds = {11, {1, 0, 0, 0, 0, 0, 0, 0, 0}};
 
 /* Common opcodes */
-static struct seeprom_cmd seeprom_write = {3, {1, 0, 1}};
-static struct seeprom_cmd seeprom_read  = {3, {1, 1, 0}};
+static const struct seeprom_cmd seeprom_write = {3, {1, 0, 1}};
+static const struct seeprom_cmd seeprom_read  = {3, {1, 1, 0}};
 
 /*
  * Wait for the SEERDY to go high; about 800 ns.
@@ -108,7 +108,7 @@ static struct seeprom_cmd seeprom_read  
  * Send a START condition and the given command
  */
 static void
-send_seeprom_cmd(struct seeprom_descriptor *sd, struct seeprom_cmd *cmd)
+send_seeprom_cmd(struct seeprom_descriptor *sd, const struct seeprom_cmd *cmd)
 {
 	uint8_t temp;
 	int i = 0;
@@ -227,7 +227,7 @@ int
 ahc_write_seeprom(struct seeprom_descriptor *sd, uint16_t *buf,
 		  u_int start_addr, u_int count)
 {
-	struct seeprom_cmd *ewen, *ewds;
+	const struct seeprom_cmd *ewen, *ewds;
 	uint16_t v;
 	uint8_t temp;
 	int i, k;
diff -urpN linux-2.6.23-aic-2-addstatic/drivers/scsi/aic7xxx/aic7xxx_core.c linux-2.6.23-aic-3-addconst/drivers/scsi/aic7xxx/aic7xxx_core.c
--- linux-2.6.23-aic-2-addstatic/drivers/scsi/aic7xxx/aic7xxx_core.c	2007-10-14 15:05:07.000000000 +0100
+++ linux-2.6.23-aic-3-addconst/drivers/scsi/aic7xxx/aic7xxx_core.c	2007-10-14 15:21:33.000000000 +0100
@@ -73,7 +73,7 @@ static const u_int num_chip_names = ARRA
  * Hardware error codes.
  */
 struct ahc_hard_error_entry {
-        uint8_t errno;
+	uint8_t errno;
 	const char *errmesg;
 };
 
@@ -221,7 +221,7 @@ static void		ahc_dumpseq(struct ahc_soft
 #endif
 static int		ahc_loadseq(struct ahc_softc *ahc);
 static int		ahc_check_patch(struct ahc_softc *ahc,
-					struct patch **start_patch,
+					const struct patch **start_patch,
 					u_int start_instr, u_int *skip_addr);
 static void		ahc_download_instr(struct ahc_softc *ahc,
 					   u_int instrptr, uint8_t *dconsts);
@@ -6849,7 +6849,7 @@ ahc_loadseq(struct ahc_softc *ahc)
 	struct	cs cs_table[num_critical_sections];
 	u_int	begin_set[num_critical_sections];
 	u_int	end_set[num_critical_sections];
-	struct	patch *cur_patch;
+	const struct patch *cur_patch;
 	u_int	cs_count;
 	u_int	cur_cs;
 	u_int	i;
@@ -6954,11 +6954,11 @@ ahc_loadseq(struct ahc_softc *ahc)
 }
 
 static int
-ahc_check_patch(struct ahc_softc *ahc, struct patch **start_patch,
+ahc_check_patch(struct ahc_softc *ahc, const struct patch **start_patch,
 		u_int start_instr, u_int *skip_addr)
 {
-	struct	patch *cur_patch;
-	struct	patch *last_patch;
+	const struct patch *cur_patch;
+	const struct patch *last_patch;
 	u_int	num_patches;
 
 	num_patches = ARRAY_SIZE(patches);
@@ -7017,7 +7017,7 @@ ahc_download_instr(struct ahc_softc *ahc
 	case AIC_OP_JE:
 	case AIC_OP_JZ:
 	{
-		struct patch *cur_patch;
+		const struct patch *cur_patch;
 		int address_offset;
 		u_int address;
 		u_int skip_addr;
diff -urpN linux-2.6.23-aic-2-addstatic/drivers/scsi/aic7xxx/aic7xxx_osm.c linux-2.6.23-aic-3-addconst/drivers/scsi/aic7xxx/aic7xxx_osm.c
--- linux-2.6.23-aic-2-addstatic/drivers/scsi/aic7xxx/aic7xxx_osm.c	2007-10-14 15:05:07.000000000 +0100
+++ linux-2.6.23-aic-3-addconst/drivers/scsi/aic7xxx/aic7xxx_osm.c	2007-10-14 15:20:05.000000000 +0100
@@ -511,13 +511,11 @@ ahc_linux_info(struct Scsi_Host *host)
 	bp = &buffer[0];
 	ahc = *(struct ahc_softc **)host->hostdata;
 	memset(bp, 0, sizeof(buffer));
-	strcpy(bp, "Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev ");
-	strcat(bp, AIC7XXX_DRIVER_VERSION);
-	strcat(bp, "\n");
-	strcat(bp, "        <");
+	strcpy(bp, "Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev " AIC7XXX_DRIVER_VERSION "\n"
+			"        <");
 	strcat(bp, ahc->description);
-	strcat(bp, ">\n");
-	strcat(bp, "        ");
+	strcat(bp, ">\n"
+			"        ");
 	ahc_controller_info(ahc, ahc_info);
 	strcat(bp, ahc_info);
 	strcat(bp, "\n");
@@ -1033,7 +1031,7 @@ aic7xxx_setup(char *s)
 	char   *p;
 	char   *end;
 
-	static struct {
+	static const struct {
 		const char *name;
 		uint32_t *flag;
 	} options[] = {
diff -urpN linux-2.6.23-aic-2-addstatic/drivers/scsi/aic7xxx/aic7xxx_osm_pci.c linux-2.6.23-aic-3-addconst/drivers/scsi/aic7xxx/aic7xxx_osm_pci.c
--- linux-2.6.23-aic-2-addstatic/drivers/scsi/aic7xxx/aic7xxx_osm_pci.c	2007-10-14 15:05:08.000000000 +0100
+++ linux-2.6.23-aic-3-addconst/drivers/scsi/aic7xxx/aic7xxx_osm_pci.c	2007-10-14 15:20:05.000000000 +0100
@@ -55,7 +55,7 @@ static void	ahc_linux_pci_dev_remove(str
 */
 #define ID(x)	ID_C(x, PCI_CLASS_STORAGE_SCSI)
 
-static struct pci_device_id ahc_linux_pci_id_table[] = {
+static const struct pci_device_id ahc_linux_pci_id_table[] = {
 	/* aic7850 based controllers */
 	ID(ID_AHA_2902_04_10_15_20C_30C),
 	/* aic7860 based controllers */
@@ -231,7 +231,7 @@ ahc_linux_pci_dev_probe(struct pci_dev *
 	const uint64_t	 mask_39bit = 0x7FFFFFFFFFULL;
 	struct		 ahc_softc *ahc;
 	ahc_dev_softc_t	 pci;
-	struct		 ahc_pci_identity *entry;
+	const struct ahc_pci_identity *entry;
 	char		*name;
 	int		 error;
 	struct device	*dev = &pdev->dev;
diff -urpN linux-2.6.23-aic-2-addstatic/drivers/scsi/aic7xxx/aic7xxx_pci.c linux-2.6.23-aic-3-addconst/drivers/scsi/aic7xxx/aic7xxx_pci.c
--- linux-2.6.23-aic-2-addstatic/drivers/scsi/aic7xxx/aic7xxx_pci.c	2007-10-14 15:05:08.000000000 +0100
+++ linux-2.6.23-aic-3-addconst/drivers/scsi/aic7xxx/aic7xxx_pci.c	2007-10-14 15:20:05.000000000 +0100
@@ -168,8 +168,7 @@ static ahc_device_setup_t ahc_aha394XX_s
 static ahc_device_setup_t ahc_aha494XX_setup;
 static ahc_device_setup_t ahc_aha398XX_setup;
 
-static struct ahc_pci_identity ahc_pci_ident_table [] =
-{
+static const struct ahc_pci_identity ahc_pci_ident_table[] = {
 	/* aic7850 based controllers */
 	{
 		ID_AHA_2902_04_10_15_20C_30C,
@@ -670,7 +669,7 @@ ahc_9005_subdevinfo_valid(uint16_t devic
 	return (result);
 }
 
-struct ahc_pci_identity *
+const struct ahc_pci_identity *
 ahc_find_pci_device(ahc_dev_softc_t pci)
 {
 	uint64_t  full_id;
@@ -678,7 +677,7 @@ ahc_find_pci_device(ahc_dev_softc_t pci)
 	uint16_t  vendor;
 	uint16_t  subdevice;
 	uint16_t  subvendor;
-	struct	  ahc_pci_identity *entry;
+	const struct ahc_pci_identity *entry;
 	u_int	  i;
 
 	vendor = ahc_pci_read_config(pci, PCIR_DEVVENDOR, /*bytes*/2);
@@ -712,7 +711,7 @@ ahc_find_pci_device(ahc_dev_softc_t pci)
 }
 
 int
-ahc_pci_config(struct ahc_softc *ahc, struct ahc_pci_identity *entry)
+ahc_pci_config(struct ahc_softc *ahc, const struct ahc_pci_identity *entry)
 {
 	u_int	 command;
 	u_int	 our_id;
diff -urpN linux-2.6.23-aic-2-addstatic/drivers/scsi/aic7xxx/aic7xxx_proc.c linux-2.6.23-aic-3-addconst/drivers/scsi/aic7xxx/aic7xxx_proc.c
--- linux-2.6.23-aic-2-addstatic/drivers/scsi/aic7xxx/aic7xxx_proc.c	2007-10-14 15:05:08.000000000 +0100
+++ linux-2.6.23-aic-3-addconst/drivers/scsi/aic7xxx/aic7xxx_proc.c	2007-10-14 15:20:05.000000000 +0100
@@ -58,7 +58,7 @@ static int	ahc_proc_write_seeprom(struct
  * Table of syncrates that don't follow the "divisible by 4"
  * rule. This table will be expanded in future SCSI specs.
  */
-static struct {
+static const struct {
 	u_int period_factor;
 	u_int period;	/* in 100ths of ns */
 } scsi_syncrates[] = {
diff -urpN linux-2.6.23-aic-2-addstatic/drivers/scsi/aic7xxx/aic7xxx_seq.h_shipped linux-2.6.23-aic-3-addconst/drivers/scsi/aic7xxx/aic7xxx_seq.h_shipped
--- linux-2.6.23-aic-2-addstatic/drivers/scsi/aic7xxx/aic7xxx_seq.h_shipped	2007-10-14 15:05:08.000000000 +0100
+++ linux-2.6.23-aic-3-addconst/drivers/scsi/aic7xxx/aic7xxx_seq.h_shipped	2007-10-14 15:20:05.000000000 +0100
@@ -1081,7 +1081,7 @@ ahc_patch0_func(struct ahc_softc *ahc)
 	return (0);
 }
 
-static struct patch {
+static const struct patch {
 	ahc_patch_func_t		*patch_func;
 	uint32_t		 begin		:10,
 				 skip_instr	:10,
@@ -1291,7 +1291,7 @@ static struct patch {
 	{ ahc_patch4_func, 865, 12, 1 }
 };
 
-static struct cs {
+static const struct cs {
 	uint16_t	begin;
 	uint16_t	end;
 } critical_sections[] = {
diff -urpN linux-2.6.23-aic-2-addstatic/drivers/scsi/aic7xxx/aicasm/aicasm.c linux-2.6.23-aic-3-addconst/drivers/scsi/aic7xxx/aicasm/aicasm.c
--- linux-2.6.23-aic-2-addstatic/drivers/scsi/aic7xxx/aicasm/aicasm.c	2007-10-14 15:05:11.000000000 +0100
+++ linux-2.6.23-aic-3-addconst/drivers/scsi/aic7xxx/aicasm/aicasm.c	2007-10-14 15:20:05.000000000 +0100
@@ -415,7 +415,7 @@ output_code()
 	}
 
 	fprintf(ofile,
-"static struct patch {\n"
+"static const struct patch {\n"
 "	%spatch_func_t		*patch_func;\n"
 "	uint32_t		 begin		:10,\n"
 "				 skip_instr	:10,\n"
@@ -435,7 +435,7 @@ output_code()
 	fprintf(ofile, "\n};\n\n");
 
 	fprintf(ofile,
-"static struct cs {\n"
+"static const struct cs {\n"
 "	uint16_t	begin;\n"
 "	uint16_t	end;\n"
 "} critical_sections[] = {\n");

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [PATCH 3/3] debloat aic7xxx and aic79xx drivers
  2007-10-14 15:02     ` [PATCH 3/3] " Denys Vlasenko
@ 2007-11-01 22:16       ` Matthew Wilcox
  2007-11-01 22:23         ` Randy Dunlap
  0 siblings, 1 reply; 24+ messages in thread
From: Matthew Wilcox @ 2007-11-01 22:16 UTC (permalink / raw)
  To: Denys Vlasenko; +Cc: Andrew Morton, Hannes Reinecke, linux-scsi, linux-kernel

On Sun, Oct 14, 2007 at 04:02:15PM +0100, Denys Vlasenko wrote:
> Adds more consts

error: patch failed: drivers/scsi/aic7xxx/aic79xx.h:1328
error: drivers/scsi/aic7xxx/aic79xx.h: patch does not apply
error: patch failed: drivers/scsi/aic7xxx/aic7xxx.h:1145
error: drivers/scsi/aic7xxx/aic7xxx.h: patch does not apply

-- 
Intel are signing my paycheques ... these opinions are still mine
"Bill, look, we understand that you're interested in selling us this
operating system, but compare it to ours.  We can't possibly take such
a retrograde step."

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [PATCH 3/3] debloat aic7xxx and aic79xx drivers
  2007-11-01 22:16       ` Matthew Wilcox
@ 2007-11-01 22:23         ` Randy Dunlap
  2007-11-01 23:00           ` Matthew Wilcox
  0 siblings, 1 reply; 24+ messages in thread
From: Randy Dunlap @ 2007-11-01 22:23 UTC (permalink / raw)
  To: Matthew Wilcox
  Cc: Denys Vlasenko, Andrew Morton, Hannes Reinecke, linux-scsi,
	linux-kernel

On Thu, 1 Nov 2007 16:16:04 -0600 Matthew Wilcox wrote:

> On Sun, Oct 14, 2007 at 04:02:15PM +0100, Denys Vlasenko wrote:
> > Adds more consts
> 
> error: patch failed: drivers/scsi/aic7xxx/aic79xx.h:1328
> error: drivers/scsi/aic7xxx/aic79xx.h: patch does not apply
> error: patch failed: drivers/scsi/aic7xxx/aic7xxx.h:1145
> error: drivers/scsi/aic7xxx/aic7xxx.h: patch does not apply

when attempting to apply to scsi-misc or linus-git or ... ?

Thanks,
---
~Randy

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [PATCH 3/3] debloat aic7xxx and aic79xx drivers
  2007-11-01 22:23         ` Randy Dunlap
@ 2007-11-01 23:00           ` Matthew Wilcox
  0 siblings, 0 replies; 24+ messages in thread
From: Matthew Wilcox @ 2007-11-01 23:00 UTC (permalink / raw)
  To: Randy Dunlap
  Cc: Denys Vlasenko, Andrew Morton, Hannes Reinecke, linux-scsi,
	linux-kernel

On Thu, Nov 01, 2007 at 03:23:28PM -0700, Randy Dunlap wrote:
> when attempting to apply to scsi-misc or linus-git or ... ?

scsi-misc

-- 
Intel are signing my paycheques ... these opinions are still mine
"Bill, look, we understand that you're interested in selling us this
operating system, but compare it to ours.  We can't possibly take such
a retrograde step."

^ permalink raw reply	[flat|nested] 24+ messages in thread

* [PATCH 0/3] debloat aic7xxx and aic79xx drivers
@ 2008-03-23  3:40 Denys Vlasenko
  2008-03-23  3:41 ` [PATCH 1/3] " Denys Vlasenko
  0 siblings, 1 reply; 24+ messages in thread
From: Denys Vlasenko @ 2008-03-23  3:40 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Hannes Reinecke, linux-scsi, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 2428 bytes --]

Hi Andrew,

Can you please take these patches into -mm?

I seem to be unable to push them through scsi people,
they silently drop them on the floor.

There patches significantly debloat drivers/scsi/aic7xxx/*.

1-debloat.patch
Deinlines and moves big functions from .h to .c files.
Adds prototypes for ahc_lookup_scb and ahd_lookup_scb to .h files.

2-addstatic.patch
Adds statics, #ifdefs out huge amount of unused code, adds consts

3-addconst.patch
Adds more consts

Driver code/data size reductions with and without debugging enabled
(aic0 is just an unmodified linux-2.6.25-rc6):

   text    data     bss     dec     hex filename
 211264   28258    1172  240694   3ac36 linux-2.6.25-rc6-aic0-TEST/drivers/scsi/aic7xxx/built-in.o
 160012   28258    1172  189442   2e402 linux-2.6.25-rc6-aic1-TEST/drivers/scsi/aic7xxx/built-in.o
 166698   20786    1172  188656   2e0f0 linux-2.6.25-rc6-aic2-TEST/drivers/scsi/aic7xxx/built-in.o
 185014    2346    1172  188532   2e074 linux-2.6.25-rc6-aic3-TEST/drivers/scsi/aic7xxx/built-in.o

   text    data     bss     dec     hex filename
 264496   47922    1188  313606   4c906 linux-2.6.25-rc6-aic0-TEST2/drivers/scsi/aic7xxx/built-in.o
 201056   47922    1188  250166   3d136 linux-2.6.25-rc6-aic1-TEST2/drivers/scsi/aic7xxx/built-in.o
 186564   20786    1188  208538   32e9a linux-2.6.25-rc6-aic2-TEST2/drivers/scsi/aic7xxx/built-in.o
 204880    2346    1188  208414   32e1e linux-2.6.25-rc6-aic3-TEST2/drivers/scsi/aic7xxx/built-in.o

Configs used for these builds are attached to this email
for anyone interested.

make namespacecheck goes from 400+ functions to:
  drivers/scsi/aic7xxx/aic79xx_core.o
    ahd_inq
    ahd_inw
    ahd_outq
    ahd_outw
  drivers/scsi/aic7xxx/aic79xx_osm.o
    ahd_insb
  drivers/scsi/aic7xxx/aic7xxx_core.o
    ahc_inq
    ahc_outq
  drivers/scsi/aic7xxx/aic7xxx_osm.o
    ahc_insb

None of these patches touch any logic, code changes are pretty minimal.

Compile tested and applies cleanly to 2.6.25-rc6.
I don't have this hardware anymore and cannot run test these patches,
but other people reported success in the past:

On Monday 15 October 2007 14:53, Gabriel C wrote:
> > I can test these patches on an aic7892 controller later on today if you want.
> 
> Works fine for me tested on :
> 
> 03:0e.0 SCSI storage controller [0100]: Adaptec AIC-7892P U160/m [9005:008f] (rev 02)

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
--
vda

[-- Attachment #2: config-TEST.bz2 --]
[-- Type: application/x-bzip2, Size: 7959 bytes --]

[-- Attachment #3: config-TEST2.bz2 --]
[-- Type: application/x-bzip2, Size: 8058 bytes --]

^ permalink raw reply	[flat|nested] 24+ messages in thread

* [PATCH 1/3] debloat aic7xxx and aic79xx drivers
  2008-03-23  3:40 [PATCH 0/3] debloat aic7xxx and aic79xx drivers Denys Vlasenko
@ 2008-03-23  3:41 ` Denys Vlasenko
  2008-03-23  3:42   ` [PATCH 2/3] " Denys Vlasenko
  2008-04-07 10:31   ` [PATCH 1/3] " Hannes Reinecke
  0 siblings, 2 replies; 24+ messages in thread
From: Denys Vlasenko @ 2008-03-23  3:41 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Hannes Reinecke, linux-scsi, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 187 bytes --]

Deinlines and moves big functions from .h to .c files.
Adds prototypes for ahc_lookup_scb and ahd_lookup_scb to .h files.

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
--
vda

[-- Attachment #2: linux-2.6.25-rc6-aic1-debloat.diff.bz2 --]
[-- Type: application/x-bzip2, Size: 15051 bytes --]

^ permalink raw reply	[flat|nested] 24+ messages in thread

* [PATCH 2/3] debloat aic7xxx and aic79xx drivers
  2008-03-23  3:41 ` [PATCH 1/3] " Denys Vlasenko
@ 2008-03-23  3:42   ` Denys Vlasenko
  2008-03-23  3:42     ` [PATCH 3/3] " Denys Vlasenko
  2008-04-07 10:34     ` [PATCH 2/3] " Hannes Reinecke
  2008-04-07 10:31   ` [PATCH 1/3] " Hannes Reinecke
  1 sibling, 2 replies; 24+ messages in thread
From: Denys Vlasenko @ 2008-03-23  3:42 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Hannes Reinecke, linux-scsi, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 132 bytes --]

Adds statics, #ifdefs out huge amount of unused code, adds consts

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
--
vda


[-- Attachment #2: linux-2.6.25-rc6-aic2-addstatic.diff.bz2 --]
[-- Type: application/x-bzip2, Size: 24690 bytes --]

^ permalink raw reply	[flat|nested] 24+ messages in thread

* [PATCH 3/3] debloat aic7xxx and aic79xx drivers
  2008-03-23  3:42   ` [PATCH 2/3] " Denys Vlasenko
@ 2008-03-23  3:42     ` Denys Vlasenko
  2008-04-07 10:36       ` Hannes Reinecke
  2008-04-07 10:34     ` [PATCH 2/3] " Hannes Reinecke
  1 sibling, 1 reply; 24+ messages in thread
From: Denys Vlasenko @ 2008-03-23  3:42 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Hannes Reinecke, linux-scsi, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 83 bytes --]

Adds more consts

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
--
vda


[-- Attachment #2: linux-2.6.25-rc6-aic3-addconst.diff.bz2 --]
[-- Type: application/x-bzip2, Size: 4781 bytes --]

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [PATCH 1/3] debloat aic7xxx and aic79xx drivers
  2008-03-23  3:41 ` [PATCH 1/3] " Denys Vlasenko
  2008-03-23  3:42   ` [PATCH 2/3] " Denys Vlasenko
@ 2008-04-07 10:31   ` Hannes Reinecke
  2008-04-07 18:01     ` Denys Vlasenko
  1 sibling, 1 reply; 24+ messages in thread
From: Hannes Reinecke @ 2008-04-07 10:31 UTC (permalink / raw)
  To: Denys Vlasenko; +Cc: Andrew Morton, linux-scsi, linux-kernel

Hi Denys,

Denys Vlasenko wrote:
> Deinlines and moves big functions from .h to .c files.
> Adds prototypes for ahc_lookup_scb and ahd_lookup_scb to .h files.
> 
> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
> --
> vda
Patch looks good to me.

Signed-off-by: Hannes Reinecke <hare@suse.de>

Cheers,

Hannes
-- 
Dr. Hannes Reinecke		      zSeries & Storage
hare@suse.de			      +49 911 74053 688
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: Markus Rex, HRB 16746 (AG Nürnberg)
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [PATCH 2/3] debloat aic7xxx and aic79xx drivers
  2008-03-23  3:42   ` [PATCH 2/3] " Denys Vlasenko
  2008-03-23  3:42     ` [PATCH 3/3] " Denys Vlasenko
@ 2008-04-07 10:34     ` Hannes Reinecke
  2008-04-07 18:00       ` Denys Vlasenko
  1 sibling, 1 reply; 24+ messages in thread
From: Hannes Reinecke @ 2008-04-07 10:34 UTC (permalink / raw)
  To: Denys Vlasenko; +Cc: Andrew Morton, linux-scsi, linux-kernel

Hi Denys,

Denys Vlasenko wrote:
> Adds statics, #ifdefs out huge amount of unused code, adds consts
> 
> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
> --
> vda
> 
NACK. We need the #defines to print out the registers.
And in either case the *_shipped files are in fact
autogenerated by aic assembler, so we need to fix that
one, too.

Cheers,

Hannes
-- 
Dr. Hannes Reinecke		      zSeries & Storage
hare@suse.de			      +49 911 74053 688
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: Markus Rex, HRB 16746 (AG Nürnberg)
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [PATCH 3/3] debloat aic7xxx and aic79xx drivers
  2008-03-23  3:42     ` [PATCH 3/3] " Denys Vlasenko
@ 2008-04-07 10:36       ` Hannes Reinecke
  0 siblings, 0 replies; 24+ messages in thread
From: Hannes Reinecke @ 2008-04-07 10:36 UTC (permalink / raw)
  To: Denys Vlasenko; +Cc: Andrew Morton, linux-scsi, linux-kernel

Hi Denys,

Denys Vlasenko wrote:
> Adds more consts
> 
> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
> --
> vda
> 
ACK. Looks ok.

Cheers,

Hannes
-- 
Dr. Hannes Reinecke		      zSeries & Storage
hare@suse.de			      +49 911 74053 688
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: Markus Rex, HRB 16746 (AG Nürnberg)
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [PATCH 2/3] debloat aic7xxx and aic79xx drivers
  2008-04-07 10:34     ` [PATCH 2/3] " Hannes Reinecke
@ 2008-04-07 18:00       ` Denys Vlasenko
  2008-04-08 12:23         ` Hannes Reinecke
  0 siblings, 1 reply; 24+ messages in thread
From: Denys Vlasenko @ 2008-04-07 18:00 UTC (permalink / raw)
  To: Hannes Reinecke; +Cc: Andrew Morton, linux-scsi, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 10607 bytes --]

On Monday 07 April 2008 12:34, Hannes Reinecke wrote:
> > Adds statics, #ifdefs out huge amount of unused code, adds consts
> > 
> > Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
> > --
> > vda
> > 
> NACK. We need the #defines to print out the registers.
> And in either case the *_shipped files are in fact
> autogenerated by aic assembler, so we need to fix that
> one, too.

I assume you are talking about this part of a patch:

--- linux-2.6.25-rc6-aic1/drivers/scsi/aic7xxx/aic79xx_reg.h_shipped    2008-03-23 00:43:20.000000000 +0100
+++ linux-2.6.25-rc6-aic2/drivers/scsi/aic7xxx/aic79xx_reg.h_shipped    2008-03-23 00:54:59.000000000 +0100
@@ -11,23 +11,18 @@ typedef struct ahd_reg_parse_entry {
        uint8_t  value;
        uint8_t  mask;
 } ahd_reg_parse_entry_t;

+#if 0 /* unused */
+
 #if AIC_DEBUG_REGISTERS
 ahd_reg_print_t ahd_mode_ptr_print;
 #else
 #define ahd_mode_ptr_print(regvalue, cur_col, wrap) \
     ahd_print_register(NULL, 0, "MODE_PTR", 0x00, regvalue, cur_col, wrap)
 #endif

 #if AIC_DEBUG_REGISTERS
-ahd_reg_print_t ahd_intstat_print;
-#else
-#define ahd_intstat_print(regvalue, cur_col, wrap) \
-    ahd_print_register(NULL, 0, "INTSTAT", 0x01, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
 ahd_reg_print_t ahd_seqintcode_print;
 #else
 #define ahd_seqintcode_print(regvalue, cur_col, wrap) \
     ahd_print_register(NULL, 0, "SEQINTCODE", 0x02, regvalue, cur_col, wrap)
@@ -75,22 +70,8 @@ ahd_reg_print_t ahd_hescb_qoff_print;
     ahd_print_register(NULL, 0, "HESCB_QOFF", 0x08, regvalue, cur_col, wrap)
 #endif

 #if AIC_DEBUG_REGISTERS
-ahd_reg_print_t ahd_hs_mailbox_print;
-#else
-#define ahd_hs_mailbox_print(regvalue, cur_col, wrap) \
-    ahd_print_register(NULL, 0, "HS_MAILBOX", 0x0b, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahd_reg_print_t ahd_seqintstat_print;
-#else
-#define ahd_seqintstat_print(regvalue, cur_col, wrap) \
-    ahd_print_register(NULL, 0, "SEQINTSTAT", 0x0c, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
.....
.....


Let me explain what I am doing here. I am NOT deleting ahd_intstat_print
definition, I am moving it below the #endif which terminates big
#if 0 /* unused */  block, moving to this place:


@@ -2377,8 +2043,346 @@ ahd_reg_print_t ahd_scb_disconnected_lis
 #define ahd_scb_disconnected_lists_print(regvalue, cur_col, wrap) \
     ahd_print_register(NULL, 0, "SCB_DISCONNECTED_LISTS", 0x1b8, regvalue, cur_col, wrap)
 #endif

+#endif /* unused */
+
+#if AIC_DEBUG_REGISTERS
+ahd_reg_print_t ahd_intstat_print;
+#else
+#define ahd_intstat_print(regvalue, cur_col, wrap) \
+    ahd_print_register(NULL, 0, "INTSTAT", 0x01, regvalue, cur_col, wrap)
+#endif
...
...


#if 0 / #endif block ends up containing definitions of 290 functions/macros,
none of which is EVER used. I used this script (below) and verified that
they are never mentioned anywhere outside of *_shipped files.
I also did test builds with and without debug enabled and they build
with no problems. No undefined references!

cd $KERNEL_TREE/drivers/scsi/aic7xxx/ || exit 1

echo -n "\
ahd_mode_ptr_print
ahd_seqintcode_print
ahd_clrint_print
ahd_error_print
ahd_clrerr_print
ahd_hcntrl_print
ahd_hnscb_qoff_print
ahd_hescb_qoff_print
ahd_clrseqintstat_print
ahd_swtimer_print
ahd_snscb_qoff_print
ahd_sescb_qoff_print
ahd_sdscb_qoff_print
ahd_qoff_ctlsta_print
ahd_dscommand0_print
ahd_arbctl_print
ahd_sg_cache_pre_print
ahd_lqin_print
ahd_typeptr_print
ahd_tagptr_print
ahd_lunptr_print
ahd_datalenptr_print
ahd_statlenptr_print
ahd_cmdlenptr_print
ahd_attrptr_print
ahd_flagptr_print
ahd_cmdptr_print
ahd_qnextptr_print
ahd_idptr_print
ahd_abrtbyteptr_print
ahd_abrtbitptr_print
ahd_maxcmdbytes_print
ahd_maxcmd2rcv_print
ahd_shortthresh_print
ahd_lunlen_print
ahd_cdblimit_print
ahd_maxcmd_print
ahd_maxcmdcnt_print
ahd_lqrsvd01_print
ahd_lqrsvd16_print
ahd_lqrsvd17_print
ahd_cmdrsvd0_print
ahd_lqctl0_print
ahd_lqctl1_print
ahd_scsbist0_print
ahd_lqctl2_print
ahd_scsbist1_print
ahd_sxfrctl0_print
ahd_dlcount_print
ahd_businitid_print
ahd_sxfrctl1_print
ahd_bustargid_print
ahd_sxfrctl2_print
ahd_scsisigo_print
ahd_multargid_print
ahd_scsidat0_img_print
ahd_scsidat_print
ahd_targidin_print
ahd_optionmode_print
ahd_sblkctl_print
ahd_clrsint0_print
ahd_clrsint1_print
ahd_simode2_print
ahd_clrsint2_print
ahd_lqistate_print
ahd_lqostate_print
ahd_clrlqiint0_print
ahd_lqimode0_print
ahd_lqimode1_print
ahd_clrlqiint1_print
ahd_simode3_print
ahd_clrsint3_print
ahd_clrlqoint0_print
ahd_lqomode0_print
ahd_lqomode1_print
ahd_clrlqoint1_print
ahd_os_space_cnt_print
ahd_gsfifo_print
ahd_lqoscsctl_print
ahd_nextscb_print
ahd_clrseqintsrc_print
ahd_currscb_print
ahd_crccontrol_print
ahd_dfftag_print
ahd_lastscb_print
ahd_scsitest_print
ahd_iopdnctl_print
ahd_shaddr_print
ahd_negoaddr_print
ahd_dgrpcrci_print
ahd_negperiod_print
ahd_packcrci_print
ahd_negoffset_print
ahd_negppropts_print
ahd_negconopts_print
ahd_annexcol_print
ahd_annexdat_print
ahd_scschkn_print
ahd_iownid_print
ahd_pll960ctl0_print
ahd_shcnt_print
ahd_townid_print
ahd_pll960ctl1_print
ahd_pll960cnt0_print
ahd_xsig_print
ahd_pll400ctl0_print
ahd_fairness_print
ahd_pll400ctl1_print
ahd_unfairness_print
ahd_pll400cnt0_print
ahd_haddr_print
ahd_plldelay_print
ahd_hodmaadr_print
ahd_hodmacnt_print
ahd_hcnt_print
ahd_hodmaen_print
ahd_scbhaddr_print
ahd_sghaddr_print
ahd_scbhcnt_print
ahd_sghcnt_print
ahd_dff_thrsh_print
ahd_romaddr_print
ahd_romcntrl_print
ahd_romdata_print
ahd_cmcrxmsg0_print
ahd_roenable_print
ahd_ovlyrxmsg0_print
ahd_dchrxmsg0_print
ahd_ovlyrxmsg1_print
ahd_nsenable_print
ahd_cmcrxmsg1_print
ahd_dchrxmsg1_print
ahd_dchrxmsg2_print
ahd_cmcrxmsg2_print
ahd_ost_print
ahd_ovlyrxmsg2_print
ahd_dchrxmsg3_print
ahd_ovlyrxmsg3_print
ahd_cmcrxmsg3_print
ahd_pcixctl_print
ahd_ovlyseqbcnt_print
ahd_dchseqbcnt_print
ahd_cmcseqbcnt_print
ahd_cmcspltstat0_print
ahd_dchspltstat0_print
ahd_ovlyspltstat0_print
ahd_cmcspltstat1_print
ahd_ovlyspltstat1_print
ahd_dchspltstat1_print
ahd_sgrxmsg0_print
ahd_slvspltoutadr0_print
ahd_sgrxmsg1_print
ahd_slvspltoutadr1_print
ahd_sgrxmsg2_print
ahd_slvspltoutadr2_print
ahd_sgrxmsg3_print
ahd_slvspltoutadr3_print
ahd_sgseqbcnt_print
ahd_slvspltoutattr0_print
ahd_slvspltoutattr1_print
ahd_slvspltoutattr2_print
ahd_sgspltstat0_print
ahd_sgspltstat1_print
ahd_sfunct_print
ahd_df0pcistat_print
ahd_reg0_print
ahd_df1pcistat_print
ahd_sgpcistat_print
ahd_reg1_print
ahd_cmcpcistat_print
ahd_ovlypcistat_print
ahd_reg_isr_print
ahd_msipcistat_print
ahd_targpcistat_print
ahd_data_count_odd_print
ahd_scbptr_print
ahd_ccscbacnt_print
ahd_scbautoptr_print
ahd_ccsgaddr_print
ahd_ccscbadr_bk_print
ahd_ccscbaddr_print
ahd_cmc_rambist_print
ahd_ccsgram_print
ahd_flexadr_print
ahd_ccscbram_print
ahd_flexcnt_print
ahd_flexdmastat_print
ahd_flexdata_print
ahd_brddat_print
ahd_brdctl_print
ahd_seeadr_print
ahd_seedat_print
ahd_seectl_print
ahd_seestat_print
ahd_scbcnt_print
ahd_dfwaddr_print
ahd_dspfltrctl_print
ahd_dspdatactl_print
ahd_dfraddr_print
ahd_dspreqctl_print
ahd_dspackctl_print
ahd_dfdat_print
ahd_dspselect_print
ahd_wrtbiasctl_print
ahd_rcvrbiosctl_print
ahd_wrtbiascalc_print
ahd_rcvrbiascalc_print
ahd_dfptrs_print
ahd_skewcalc_print
ahd_dfbkptr_print
ahd_dfdbctl_print
ahd_dfscnt_print
ahd_dfbcnt_print
ahd_ovlyaddr_print
ahd_seqctl1_print
ahd_flags_print
ahd_seqram_print
ahd_prgmcnt_print
ahd_accum_print
ahd_sindex_print
ahd_dindex_print
ahd_brkaddr0_print
ahd_brkaddr1_print
ahd_allones_print
ahd_allzeros_print
ahd_none_print
ahd_sindir_print
ahd_dindir_print
ahd_function1_print
ahd_stack_print
ahd_intvec1_addr_print
ahd_curaddr_print
ahd_lastaddr_print
ahd_intvec2_addr_print
ahd_longjmp_addr_print
ahd_accum_save_print
ahd_waiting_scb_tails_print
ahd_ahd_pci_config_base_print
ahd_sram_base_print
ahd_waiting_tid_head_print
ahd_waiting_tid_tail_print
ahd_next_queued_scb_addr_print
ahd_complete_scb_head_print
ahd_complete_scb_dmainprog_head_print
ahd_complete_dma_scb_head_print
ahd_complete_dma_scb_tail_print
ahd_complete_on_qfreeze_head_print
ahd_msg_out_print
ahd_dmaparams_print
ahd_saved_scsiid_print
ahd_saved_lun_print
ahd_qoutfifo_entry_valid_tag_print
ahd_kernel_tqinpos_print
ahd_tqinpos_print
ahd_shared_data_addr_print
ahd_qoutfifo_next_addr_print
ahd_arg_1_print
ahd_arg_2_print
ahd_last_msg_print
ahd_scsiseq_template_print
ahd_initiator_tag_print
ahd_allocfifo_scbptr_print
ahd_int_coalescing_timer_print
ahd_int_coalescing_maxcmds_print
ahd_int_coalescing_mincmds_print
ahd_cmds_pending_print
ahd_int_coalescing_cmdcount_print
ahd_local_hs_mailbox_print
ahd_cmdsize_table_print
ahd_scb_base_print
ahd_scb_residual_datacnt_print
ahd_scb_residual_sgptr_print
ahd_scb_scsi_status_print
ahd_scb_target_phases_print
ahd_scb_target_data_dir_print
ahd_scb_target_itag_print
ahd_scb_sense_busaddr_print
ahd_scb_tag_print
ahd_scb_lun_print
ahd_scb_task_attribute_print
ahd_scb_cdb_len_print
ahd_scb_task_management_print
ahd_scb_dataptr_print
ahd_scb_datacnt_print
ahd_scb_sgptr_print
ahd_scb_busaddr_print
ahd_scb_next_print
ahd_scb_next2_print
ahd_scb_spare_print
ahd_scb_disconnected_lists_print
" | while read name; do
    grep "$name" -rc .
done | grep -vF ':0'

I got the following output:
./aic79xx_reg.h_shipped:2
./aic79xx_reg_print.c_shipped:1
./aic79xx_reg.h_shipped:2
./aic79xx_reg_print.c_shipped:1
...
...

which means that these functions are defined but never referenced.

(Yes, patch similarly ifdefs out function definitions in aic79xx_reg_print.c_shipped)


> And in either case the *_shipped files are in fact
> autogenerated by aic assembler, so we need to fix that
> one, too.

I tried this approach. But running aic assembler doesn't seem
to regenerate _shipped files.

I built kernel with the following options and none of the *_shipped
files change (in fact, no source file changes):

# CONFIG_PREVENT_FIRMWARE_BUILD is not set
CONFIG_SCSI_AIC7XXX=y
CONFIG_AIC7XXX_CMDS_PER_DEVICE=8
CONFIG_AIC7XXX_RESET_DELAY_MS=15000
CONFIG_AIC7XXX_BUILD_FIRMWARE=y   <============
CONFIG_AIC7XXX_DEBUG_ENABLE=y
CONFIG_AIC7XXX_DEBUG_MASK=0
CONFIG_AIC7XXX_REG_PRETTY_PRINT=y
# CONFIG_SCSI_AIC7XXX_OLD is not set
CONFIG_SCSI_AIC79XX=y
CONFIG_AIC79XX_CMDS_PER_DEVICE=8
CONFIG_AIC79XX_RESET_DELAY_MS=15000
CONFIG_AIC79XX_BUILD_FIRMWARE=y  <============
CONFIG_AIC79XX_DEBUG_ENABLE=y
CONFIG_AIC79XX_DEBUG_MASK=0
CONFIG_AIC79XX_REG_PRETTY_PRINT=y
CONFIG_SCSI_AIC94XX=m
CONFIG_AIC94XX_DEBUG=y

(full .config is attached)

I also grepped through the directory and found no rules in Makefiles
which regenerate _shipped files.

If you know how to regenerate them, please let me know.

Any other objections to the patch?
--
vda

[-- Attachment #2: .config --]
[-- Type: text/plain, Size: 36183 bytes --]

#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.25-rc6
# Mon Apr  7 19:46:37 2008
#
CONFIG_64BIT=y
# CONFIG_X86_32 is not set
CONFIG_X86_64=y
CONFIG_X86=y
# CONFIG_GENERIC_LOCKBREAK is not set
CONFIG_GENERIC_TIME=y
CONFIG_GENERIC_CMOS_UPDATE=y
CONFIG_CLOCKSOURCE_WATCHDOG=y
CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_HAVE_LATENCYTOP_SUPPORT=y
CONFIG_SEMAPHORE_SLEEPERS=y
CONFIG_FAST_CMPXCHG_LOCAL=y
CONFIG_MMU=y
CONFIG_ZONE_DMA=y
CONFIG_GENERIC_ISA_DMA=y
CONFIG_GENERIC_IOMAP=y
CONFIG_GENERIC_BUG=y
CONFIG_GENERIC_HWEIGHT=y
# CONFIG_GENERIC_GPIO is not set
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
CONFIG_DMI=y
CONFIG_RWSEM_GENERIC_SPINLOCK=y
# CONFIG_RWSEM_XCHGADD_ALGORITHM is not set
# CONFIG_ARCH_HAS_ILOG2_U32 is not set
# CONFIG_ARCH_HAS_ILOG2_U64 is not set
CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_GENERIC_TIME_VSYSCALL=y
CONFIG_ARCH_HAS_CPU_RELAX=y
CONFIG_HAVE_SETUP_PER_CPU_AREA=y
CONFIG_ARCH_HIBERNATION_POSSIBLE=y
CONFIG_ARCH_SUSPEND_POSSIBLE=y
CONFIG_ZONE_DMA32=y
CONFIG_ARCH_POPULATES_NODE_MAP=y
CONFIG_AUDIT_ARCH=y
CONFIG_ARCH_SUPPORTS_AOUT=y
CONFIG_GENERIC_HARDIRQS=y
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_GENERIC_PENDING_IRQ=y
CONFIG_X86_SMP=y
CONFIG_X86_64_SMP=y
CONFIG_X86_TRAMPOLINE=y
# CONFIG_KTIME_SCALAR is not set
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"

#
# General setup
#
CONFIG_EXPERIMENTAL=y
CONFIG_LOCK_KERNEL=y
CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_LOCALVERSION=""
# CONFIG_LOCALVERSION_AUTO is not set
CONFIG_SWAP=y
CONFIG_SYSVIPC=y
CONFIG_SYSVIPC_SYSCTL=y
# CONFIG_POSIX_MQUEUE is not set
CONFIG_BSD_PROCESS_ACCT=y
# CONFIG_BSD_PROCESS_ACCT_V3 is not set
# CONFIG_TASKSTATS is not set
# CONFIG_AUDIT is not set
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
CONFIG_LOG_BUF_SHIFT=16
# CONFIG_CGROUPS is not set
CONFIG_GROUP_SCHED=y
CONFIG_FAIR_GROUP_SCHED=y
# CONFIG_RT_GROUP_SCHED is not set
CONFIG_USER_SCHED=y
# CONFIG_CGROUP_SCHED is not set
CONFIG_SYSFS_DEPRECATED=y
CONFIG_SYSFS_DEPRECATED_V2=y
CONFIG_RELAY=y
# CONFIG_NAMESPACES is not set
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=""
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
CONFIG_SYSCTL=y
CONFIG_EMBEDDED=y
CONFIG_UID16=y
CONFIG_SYSCTL_SYSCALL=y
CONFIG_KALLSYMS=y
# CONFIG_KALLSYMS_ALL is not set
CONFIG_KALLSYMS_EXTRA_PASS=y
CONFIG_HOTPLUG=y
CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_ELF_CORE=y
CONFIG_COMPAT_BRK=y
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_ANON_INODES=y
CONFIG_EPOLL=y
CONFIG_SIGNALFD=y
CONFIG_TIMERFD=y
CONFIG_EVENTFD=y
CONFIG_SHMEM=y
CONFIG_VM_EVENT_COUNTERS=y
CONFIG_SLAB=y
# CONFIG_SLUB is not set
# CONFIG_SLOB is not set
CONFIG_PROFILING=y
# CONFIG_MARKERS is not set
CONFIG_OPROFILE=m
CONFIG_HAVE_OPROFILE=y
# CONFIG_KPROBES is not set
CONFIG_HAVE_KPROBES=y
CONFIG_HAVE_KRETPROBES=y
CONFIG_PROC_PAGE_MONITOR=y
CONFIG_SLABINFO=y
CONFIG_RT_MUTEXES=y
# CONFIG_TINY_SHMEM is not set
CONFIG_BASE_SMALL=0
CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y
CONFIG_MODULE_FORCE_UNLOAD=y
CONFIG_MODVERSIONS=y
# CONFIG_MODULE_SRCVERSION_ALL is not set
CONFIG_KMOD=y
CONFIG_STOP_MACHINE=y
CONFIG_BLOCK=y
CONFIG_BLK_DEV_IO_TRACE=y
# CONFIG_BLK_DEV_BSG is not set
CONFIG_BLOCK_COMPAT=y

#
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_AS=y
CONFIG_IOSCHED_DEADLINE=y
CONFIG_IOSCHED_CFQ=y
CONFIG_DEFAULT_AS=y
# CONFIG_DEFAULT_DEADLINE is not set
# CONFIG_DEFAULT_CFQ is not set
# CONFIG_DEFAULT_NOOP is not set
CONFIG_DEFAULT_IOSCHED="anticipatory"
CONFIG_CLASSIC_RCU=y

#
# Processor type and features
#
CONFIG_TICK_ONESHOT=y
# CONFIG_NO_HZ is not set
CONFIG_HIGH_RES_TIMERS=y
CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
CONFIG_SMP=y
CONFIG_X86_PC=y
# CONFIG_X86_ELAN is not set
# CONFIG_X86_VOYAGER is not set
# CONFIG_X86_NUMAQ is not set
# CONFIG_X86_SUMMIT is not set
# CONFIG_X86_BIGSMP is not set
# CONFIG_X86_VISWS is not set
# CONFIG_X86_GENERICARCH is not set
# CONFIG_X86_ES7000 is not set
# CONFIG_X86_RDC321X is not set
# CONFIG_X86_VSMP is not set
# CONFIG_PARAVIRT_GUEST is not set
# CONFIG_M386 is not set
# CONFIG_M486 is not set
# CONFIG_M586 is not set
# CONFIG_M586TSC is not set
# CONFIG_M586MMX is not set
# CONFIG_M686 is not set
# CONFIG_MPENTIUMII is not set
# CONFIG_MPENTIUMIII is not set
# CONFIG_MPENTIUMM is not set
# CONFIG_MPENTIUM4 is not set
# CONFIG_MK6 is not set
# CONFIG_MK7 is not set
CONFIG_MK8=y
# CONFIG_MCRUSOE is not set
# CONFIG_MEFFICEON is not set
# CONFIG_MWINCHIPC6 is not set
# CONFIG_MWINCHIP2 is not set
# CONFIG_MWINCHIP3D is not set
# CONFIG_MGEODEGX1 is not set
# CONFIG_MGEODE_LX is not set
# CONFIG_MCYRIXIII is not set
# CONFIG_MVIAC3_2 is not set
# CONFIG_MVIAC7 is not set
# CONFIG_MPSC is not set
# CONFIG_MCORE2 is not set
# CONFIG_GENERIC_CPU is not set
CONFIG_X86_L1_CACHE_BYTES=64
CONFIG_X86_INTERNODE_CACHE_BYTES=64
CONFIG_X86_CMPXCHG=y
CONFIG_X86_L1_CACHE_SHIFT=6
CONFIG_X86_GOOD_APIC=y
CONFIG_X86_INTEL_USERCOPY=y
CONFIG_X86_USE_PPRO_CHECKSUM=y
CONFIG_X86_TSC=y
CONFIG_X86_MINIMUM_CPU_FAMILY=64
CONFIG_X86_DEBUGCTLMSR=y
CONFIG_HPET_TIMER=y
CONFIG_GART_IOMMU=y
CONFIG_CALGARY_IOMMU=y
# CONFIG_CALGARY_IOMMU_ENABLED_BY_DEFAULT is not set
CONFIG_IOMMU_HELPER=y
CONFIG_SWIOTLB=y
CONFIG_NR_CPUS=8
CONFIG_SCHED_SMT=y
CONFIG_SCHED_MC=y
# CONFIG_PREEMPT_NONE is not set
# CONFIG_PREEMPT_VOLUNTARY is not set
CONFIG_PREEMPT=y
# CONFIG_PREEMPT_RCU is not set
CONFIG_X86_LOCAL_APIC=y
CONFIG_X86_IO_APIC=y
CONFIG_X86_MCE=y
CONFIG_X86_MCE_INTEL=y
CONFIG_X86_MCE_AMD=y
# CONFIG_I8K is not set
CONFIG_MICROCODE=m
CONFIG_MICROCODE_OLD_INTERFACE=y
CONFIG_X86_MSR=m
CONFIG_X86_CPUID=m
# CONFIG_NUMA is not set
CONFIG_ARCH_SPARSEMEM_DEFAULT=y
CONFIG_ARCH_SPARSEMEM_ENABLE=y
CONFIG_ARCH_SELECT_MEMORY_MODEL=y
CONFIG_SELECT_MEMORY_MODEL=y
# CONFIG_FLATMEM_MANUAL is not set
# CONFIG_DISCONTIGMEM_MANUAL is not set
CONFIG_SPARSEMEM_MANUAL=y
CONFIG_SPARSEMEM=y
CONFIG_HAVE_MEMORY_PRESENT=y
# CONFIG_SPARSEMEM_STATIC is not set
CONFIG_SPARSEMEM_EXTREME=y
CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
CONFIG_SPARSEMEM_VMEMMAP=y
# CONFIG_MEMORY_HOTPLUG is not set
CONFIG_SPLIT_PTLOCK_CPUS=4
CONFIG_RESOURCES_64BIT=y
CONFIG_ZONE_DMA_FLAG=1
CONFIG_BOUNCE=y
CONFIG_VIRT_TO_BUS=y
CONFIG_MTRR=y
# CONFIG_EFI is not set
# CONFIG_SECCOMP is not set
# CONFIG_HZ_100 is not set
# CONFIG_HZ_250 is not set
# CONFIG_HZ_300 is not set
CONFIG_HZ_1000=y
CONFIG_HZ=1000
CONFIG_SCHED_HRTICK=y
# CONFIG_KEXEC is not set
# CONFIG_CRASH_DUMP is not set
CONFIG_PHYSICAL_START=0x200000
# CONFIG_RELOCATABLE is not set
CONFIG_PHYSICAL_ALIGN=0x200000
CONFIG_HOTPLUG_CPU=y
CONFIG_COMPAT_VDSO=y
CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y

#
# Power management options
#
CONFIG_PM=y
CONFIG_PM_LEGACY=y
# CONFIG_PM_DEBUG is not set
# CONFIG_SUSPEND is not set
# CONFIG_HIBERNATION is not set
CONFIG_ACPI=y
CONFIG_ACPI_PROCFS=y
CONFIG_ACPI_PROCFS_POWER=y
CONFIG_ACPI_SYSFS_POWER=y
CONFIG_ACPI_PROC_EVENT=y
CONFIG_ACPI_AC=y
CONFIG_ACPI_BATTERY=y
CONFIG_ACPI_BUTTON=y
CONFIG_ACPI_FAN=y
# CONFIG_ACPI_DOCK is not set
CONFIG_ACPI_PROCESSOR=y
CONFIG_ACPI_HOTPLUG_CPU=y
CONFIG_ACPI_THERMAL=y
# CONFIG_ACPI_WMI is not set
# CONFIG_ACPI_ASUS is not set
# CONFIG_ACPI_TOSHIBA is not set
CONFIG_ACPI_CUSTOM_DSDT_FILE=""
# CONFIG_ACPI_CUSTOM_DSDT is not set
CONFIG_ACPI_BLACKLIST_YEAR=0
# CONFIG_ACPI_DEBUG is not set
CONFIG_ACPI_EC=y
CONFIG_ACPI_POWER=y
CONFIG_ACPI_SYSTEM=y
CONFIG_X86_PM_TIMER=y
CONFIG_ACPI_CONTAINER=y
# CONFIG_ACPI_SBS is not set

#
# CPU Frequency scaling
#
# CONFIG_CPU_FREQ is not set
CONFIG_CPU_IDLE=y
CONFIG_CPU_IDLE_GOV_LADDER=y

#
# Bus options (PCI etc.)
#
CONFIG_PCI=y
CONFIG_PCI_DIRECT=y
CONFIG_PCI_MMCONFIG=y
CONFIG_PCI_DOMAINS=y
# CONFIG_PCIEPORTBUS is not set
CONFIG_ARCH_SUPPORTS_MSI=y
# CONFIG_PCI_MSI is not set
CONFIG_PCI_LEGACY=y
# CONFIG_PCI_DEBUG is not set
CONFIG_HT_IRQ=y
CONFIG_ISA_DMA_API=y
CONFIG_K8_NB=y
# CONFIG_PCCARD is not set
# CONFIG_HOTPLUG_PCI is not set

#
# Executable file formats / Emulations
#
CONFIG_BINFMT_ELF=y
CONFIG_COMPAT_BINFMT_ELF=y
# CONFIG_BINFMT_MISC is not set
CONFIG_IA32_EMULATION=y
# CONFIG_IA32_AOUT is not set
CONFIG_COMPAT=y
CONFIG_COMPAT_FOR_U64_ALIGNMENT=y
CONFIG_SYSVIPC_COMPAT=y

#
# Networking
#
CONFIG_NET=y

#
# Networking options
#
CONFIG_PACKET=y
# CONFIG_PACKET_MMAP is not set
CONFIG_UNIX=y
CONFIG_XFRM=y
CONFIG_XFRM_USER=y
CONFIG_XFRM_SUB_POLICY=y
# CONFIG_XFRM_MIGRATE is not set
# CONFIG_XFRM_STATISTICS is not set
CONFIG_NET_KEY=y
# CONFIG_NET_KEY_MIGRATE is not set
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
CONFIG_IP_ADVANCED_ROUTER=y
CONFIG_ASK_IP_FIB_HASH=y
# CONFIG_IP_FIB_TRIE is not set
CONFIG_IP_FIB_HASH=y
CONFIG_IP_MULTIPLE_TABLES=y
CONFIG_IP_ROUTE_MULTIPATH=y
CONFIG_IP_ROUTE_VERBOSE=y
# CONFIG_IP_PNP is not set
CONFIG_NET_IPIP=m
CONFIG_NET_IPGRE=m
CONFIG_NET_IPGRE_BROADCAST=y
# CONFIG_IP_MROUTE is not set
# CONFIG_ARPD is not set
CONFIG_SYN_COOKIES=y
CONFIG_INET_AH=m
CONFIG_INET_ESP=m
CONFIG_INET_IPCOMP=m
CONFIG_INET_XFRM_TUNNEL=m
CONFIG_INET_TUNNEL=m
CONFIG_INET_XFRM_MODE_TRANSPORT=m
CONFIG_INET_XFRM_MODE_TUNNEL=m
CONFIG_INET_XFRM_MODE_BEET=m
# CONFIG_INET_LRO is not set
CONFIG_INET_DIAG=m
CONFIG_INET_TCP_DIAG=m
CONFIG_TCP_CONG_ADVANCED=y
CONFIG_TCP_CONG_BIC=y
CONFIG_TCP_CONG_CUBIC=m
CONFIG_TCP_CONG_WESTWOOD=m
CONFIG_TCP_CONG_HTCP=m
# CONFIG_TCP_CONG_HSTCP is not set
# CONFIG_TCP_CONG_HYBLA is not set
# CONFIG_TCP_CONG_VEGAS is not set
# CONFIG_TCP_CONG_SCALABLE is not set
# CONFIG_TCP_CONG_LP is not set
# CONFIG_TCP_CONG_VENO is not set
# CONFIG_TCP_CONG_YEAH is not set
# CONFIG_TCP_CONG_ILLINOIS is not set
CONFIG_DEFAULT_BIC=y
# CONFIG_DEFAULT_CUBIC is not set
# CONFIG_DEFAULT_HTCP is not set
# CONFIG_DEFAULT_VEGAS is not set
# CONFIG_DEFAULT_WESTWOOD is not set
# CONFIG_DEFAULT_RENO is not set
CONFIG_DEFAULT_TCP_CONG="bic"
# CONFIG_TCP_MD5SIG is not set
# CONFIG_IP_VS is not set
CONFIG_IPV6=y
CONFIG_IPV6_PRIVACY=y
CONFIG_IPV6_ROUTER_PREF=y
CONFIG_IPV6_ROUTE_INFO=y
# CONFIG_IPV6_OPTIMISTIC_DAD is not set
CONFIG_INET6_AH=y
CONFIG_INET6_ESP=y
CONFIG_INET6_IPCOMP=m
# CONFIG_IPV6_MIP6 is not set
CONFIG_INET6_XFRM_TUNNEL=m
CONFIG_INET6_TUNNEL=m
CONFIG_INET6_XFRM_MODE_TRANSPORT=m
CONFIG_INET6_XFRM_MODE_TUNNEL=m
CONFIG_INET6_XFRM_MODE_BEET=y
# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set
CONFIG_IPV6_SIT=m
CONFIG_IPV6_TUNNEL=m
# CONFIG_IPV6_MULTIPLE_TABLES is not set
# CONFIG_NETWORK_SECMARK is not set
CONFIG_NETFILTER=y
# CONFIG_NETFILTER_DEBUG is not set
CONFIG_NETFILTER_ADVANCED=y

#
# Core Netfilter Configuration
#
# CONFIG_NETFILTER_NETLINK_QUEUE is not set
# CONFIG_NETFILTER_NETLINK_LOG is not set
# CONFIG_NF_CONNTRACK is not set
# CONFIG_NETFILTER_XTABLES is not set

#
# IP: Netfilter Configuration
#
# CONFIG_IP_NF_QUEUE is not set
# CONFIG_IP_NF_IPTABLES is not set
# CONFIG_IP_NF_ARPTABLES is not set

#
# IPv6: Netfilter Configuration
#
# CONFIG_IP6_NF_QUEUE is not set
# CONFIG_IP6_NF_IPTABLES is not set
# CONFIG_IP_DCCP is not set
# CONFIG_IP_SCTP is not set
# CONFIG_TIPC is not set
# CONFIG_ATM is not set
# CONFIG_BRIDGE is not set
# CONFIG_VLAN_8021Q is not set
# CONFIG_DECNET is not set
# CONFIG_LLC2 is not set
# CONFIG_IPX is not set
# CONFIG_ATALK is not set
# CONFIG_X25 is not set
# CONFIG_LAPB is not set
# CONFIG_ECONET is not set
# CONFIG_WAN_ROUTER is not set
# CONFIG_NET_SCHED is not set

#
# Network testing
#
# CONFIG_NET_PKTGEN is not set
# CONFIG_HAMRADIO is not set
# CONFIG_CAN is not set
# CONFIG_IRDA is not set
# CONFIG_BT is not set
# CONFIG_AF_RXRPC is not set
CONFIG_FIB_RULES=y

#
# Wireless
#
# CONFIG_CFG80211 is not set
# CONFIG_WIRELESS_EXT is not set
# CONFIG_MAC80211 is not set
# CONFIG_IEEE80211 is not set
# CONFIG_RFKILL is not set
# CONFIG_NET_9P is not set

#
# Device Drivers
#

#
# Generic Driver Options
#
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
# CONFIG_STANDALONE is not set
# CONFIG_PREVENT_FIRMWARE_BUILD is not set
CONFIG_FW_LOADER=m
# CONFIG_DEBUG_DRIVER is not set
# CONFIG_DEBUG_DEVRES is not set
# CONFIG_SYS_HYPERVISOR is not set
# CONFIG_CONNECTOR is not set
# CONFIG_MTD is not set
CONFIG_PARPORT=m
CONFIG_PARPORT_PC=m
# CONFIG_PARPORT_SERIAL is not set
# CONFIG_PARPORT_PC_FIFO is not set
# CONFIG_PARPORT_PC_SUPERIO is not set
# CONFIG_PARPORT_GSC is not set
# CONFIG_PARPORT_AX88796 is not set
# CONFIG_PARPORT_1284 is not set
CONFIG_PNP=y
# CONFIG_PNP_DEBUG is not set

#
# Protocols
#
CONFIG_PNPACPI=y
CONFIG_BLK_DEV=y
CONFIG_BLK_DEV_FD=y
CONFIG_PARIDE=m

#
# Parallel IDE high-level drivers
#
# CONFIG_PARIDE_PD is not set
# CONFIG_PARIDE_PCD is not set
# CONFIG_PARIDE_PF is not set
# CONFIG_PARIDE_PT is not set
# CONFIG_PARIDE_PG is not set

#
# Parallel IDE protocol modules
#
# CONFIG_PARIDE_ATEN is not set
# CONFIG_PARIDE_BPCK is not set
# CONFIG_PARIDE_COMM is not set
# CONFIG_PARIDE_DSTR is not set
# CONFIG_PARIDE_FIT2 is not set
# CONFIG_PARIDE_FIT3 is not set
# CONFIG_PARIDE_EPAT is not set
# CONFIG_PARIDE_EPIA is not set
# CONFIG_PARIDE_FRIQ is not set
# CONFIG_PARIDE_FRPW is not set
# CONFIG_PARIDE_KBIC is not set
# CONFIG_PARIDE_KTTI is not set
# CONFIG_PARIDE_ON20 is not set
# CONFIG_PARIDE_ON26 is not set
# CONFIG_BLK_CPQ_DA is not set
# CONFIG_BLK_CPQ_CISS_DA is not set
# CONFIG_BLK_DEV_DAC960 is not set
# CONFIG_BLK_DEV_UMEM is not set
# CONFIG_BLK_DEV_COW_COMMON is not set
CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_CRYPTOLOOP=m
CONFIG_BLK_DEV_NBD=m
# CONFIG_BLK_DEV_SX8 is not set
# CONFIG_BLK_DEV_UB is not set
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_COUNT=16
CONFIG_BLK_DEV_RAM_SIZE=4096
CONFIG_BLK_DEV_XIP=y
CONFIG_CDROM_PKTCDVD=y
CONFIG_CDROM_PKTCDVD_BUFFERS=8
# CONFIG_CDROM_PKTCDVD_WCACHE is not set
# CONFIG_ATA_OVER_ETH is not set
CONFIG_MISC_DEVICES=y
# CONFIG_IBM_ASM is not set
# CONFIG_PHANTOM is not set
CONFIG_EEPROM_93CX6=m
# CONFIG_SGI_IOC4 is not set
# CONFIG_TIFM_CORE is not set
# CONFIG_SONY_LAPTOP is not set
# CONFIG_THINKPAD_ACPI is not set
# CONFIG_INTEL_MENLOW is not set
# CONFIG_ENCLOSURE_SERVICES is not set
CONFIG_HAVE_IDE=y
CONFIG_IDE=y
CONFIG_IDE_MAX_HWIFS=4
CONFIG_BLK_DEV_IDE=y

#
# Please see Documentation/ide/ide.txt for help/info on IDE drives
#
# CONFIG_BLK_DEV_IDE_SATA is not set
# CONFIG_BLK_DEV_HD_IDE is not set
CONFIG_BLK_DEV_IDEDISK=y
CONFIG_IDEDISK_MULTI_MODE=y
CONFIG_BLK_DEV_IDECD=y
CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=y
CONFIG_BLK_DEV_IDETAPE=m
CONFIG_BLK_DEV_IDEFLOPPY=m
CONFIG_BLK_DEV_IDESCSI=m
# CONFIG_BLK_DEV_IDEACPI is not set
CONFIG_IDE_TASK_IOCTL=y
CONFIG_IDE_PROC_FS=y

#
# IDE chipset support/bugfixes
#
CONFIG_IDE_GENERIC=y
# CONFIG_BLK_DEV_PLATFORM is not set
CONFIG_BLK_DEV_CMD640=y
# CONFIG_BLK_DEV_CMD640_ENHANCED is not set
CONFIG_BLK_DEV_IDEPNP=y

#
# PCI IDE chipsets support
#
# CONFIG_BLK_DEV_GENERIC is not set
# CONFIG_BLK_DEV_OPTI621 is not set
# CONFIG_BLK_DEV_RZ1000 is not set
# CONFIG_BLK_DEV_AEC62XX is not set
# CONFIG_BLK_DEV_ALI15X3 is not set
# CONFIG_BLK_DEV_AMD74XX is not set
# CONFIG_BLK_DEV_ATIIXP is not set
# CONFIG_BLK_DEV_CMD64X is not set
# CONFIG_BLK_DEV_TRIFLEX is not set
# CONFIG_BLK_DEV_CY82C693 is not set
# CONFIG_BLK_DEV_CS5520 is not set
# CONFIG_BLK_DEV_CS5530 is not set
# CONFIG_BLK_DEV_HPT34X is not set
# CONFIG_BLK_DEV_HPT366 is not set
# CONFIG_BLK_DEV_JMICRON is not set
# CONFIG_BLK_DEV_SC1200 is not set
# CONFIG_BLK_DEV_PIIX is not set
# CONFIG_BLK_DEV_IT8213 is not set
# CONFIG_BLK_DEV_IT821X is not set
# CONFIG_BLK_DEV_NS87415 is not set
# CONFIG_BLK_DEV_PDC202XX_OLD is not set
# CONFIG_BLK_DEV_PDC202XX_NEW is not set
# CONFIG_BLK_DEV_SVWKS is not set
# CONFIG_BLK_DEV_SIIMAGE is not set
# CONFIG_BLK_DEV_SIS5513 is not set
# CONFIG_BLK_DEV_SLC90E66 is not set
# CONFIG_BLK_DEV_TRM290 is not set
# CONFIG_BLK_DEV_VIA82CXXX is not set
# CONFIG_BLK_DEV_TC86C001 is not set
# CONFIG_BLK_DEV_IDEDMA is not set
CONFIG_IDE_ARCH_OBSOLETE_INIT=y
# CONFIG_BLK_DEV_HD is not set

#
# SCSI device support
#
# CONFIG_RAID_ATTRS is not set
CONFIG_SCSI=y
CONFIG_SCSI_DMA=y
CONFIG_SCSI_TGT=m
# CONFIG_SCSI_NETLINK is not set
CONFIG_SCSI_PROC_FS=y

#
# SCSI support type (disk, tape, CD-ROM)
#
CONFIG_BLK_DEV_SD=y
CONFIG_CHR_DEV_ST=m
CONFIG_CHR_DEV_OSST=m
CONFIG_BLK_DEV_SR=m
CONFIG_BLK_DEV_SR_VENDOR=y
CONFIG_CHR_DEV_SG=m
# CONFIG_CHR_DEV_SCH is not set

#
# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
#
CONFIG_SCSI_MULTI_LUN=y
# CONFIG_SCSI_CONSTANTS is not set
# CONFIG_SCSI_LOGGING is not set
# CONFIG_SCSI_SCAN_ASYNC is not set
CONFIG_SCSI_WAIT_SCAN=m

#
# SCSI Transports
#
CONFIG_SCSI_SPI_ATTRS=y
# CONFIG_SCSI_FC_ATTRS is not set
# CONFIG_SCSI_ISCSI_ATTRS is not set
CONFIG_SCSI_SAS_ATTRS=m
CONFIG_SCSI_SAS_LIBSAS=m
CONFIG_SCSI_SAS_ATA=y
CONFIG_SCSI_SAS_HOST_SMP=y
# CONFIG_SCSI_SAS_LIBSAS_DEBUG is not set
# CONFIG_SCSI_SRP_ATTRS is not set
CONFIG_SCSI_LOWLEVEL=y
# CONFIG_ISCSI_TCP is not set
# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
# CONFIG_SCSI_3W_9XXX is not set
# CONFIG_SCSI_ACARD is not set
# CONFIG_SCSI_AACRAID is not set
CONFIG_SCSI_AIC7XXX=y
CONFIG_AIC7XXX_CMDS_PER_DEVICE=8
CONFIG_AIC7XXX_RESET_DELAY_MS=15000
CONFIG_AIC7XXX_BUILD_FIRMWARE=y
CONFIG_AIC7XXX_DEBUG_ENABLE=y
CONFIG_AIC7XXX_DEBUG_MASK=0
CONFIG_AIC7XXX_REG_PRETTY_PRINT=y
# CONFIG_SCSI_AIC7XXX_OLD is not set
CONFIG_SCSI_AIC79XX=y
CONFIG_AIC79XX_CMDS_PER_DEVICE=8
CONFIG_AIC79XX_RESET_DELAY_MS=15000
CONFIG_AIC79XX_BUILD_FIRMWARE=y
CONFIG_AIC79XX_DEBUG_ENABLE=y
CONFIG_AIC79XX_DEBUG_MASK=0
CONFIG_AIC79XX_REG_PRETTY_PRINT=y
CONFIG_SCSI_AIC94XX=m
CONFIG_AIC94XX_DEBUG=y
# CONFIG_SCSI_ADVANSYS is not set
# CONFIG_SCSI_ARCMSR is not set
# CONFIG_MEGARAID_NEWGEN is not set
# CONFIG_MEGARAID_LEGACY is not set
# CONFIG_MEGARAID_SAS is not set
# CONFIG_SCSI_HPTIOP is not set
# CONFIG_SCSI_BUSLOGIC is not set
# CONFIG_SCSI_DMX3191D is not set
# CONFIG_SCSI_EATA is not set
# CONFIG_SCSI_FUTURE_DOMAIN is not set
# CONFIG_SCSI_GDTH is not set
# CONFIG_SCSI_IPS is not set
# CONFIG_SCSI_INITIO is not set
# CONFIG_SCSI_INIA100 is not set
# CONFIG_SCSI_PPA is not set
# CONFIG_SCSI_IMM is not set
# CONFIG_SCSI_MVSAS is not set
# CONFIG_SCSI_STEX is not set
# CONFIG_SCSI_SYM53C8XX_2 is not set
# CONFIG_SCSI_IPR is not set
# CONFIG_SCSI_QLOGIC_1280 is not set
# CONFIG_SCSI_QLA_FC is not set
# CONFIG_SCSI_QLA_ISCSI is not set
# CONFIG_SCSI_LPFC is not set
# CONFIG_SCSI_DC395x is not set
# CONFIG_SCSI_DC390T is not set
# CONFIG_SCSI_DEBUG is not set
# CONFIG_SCSI_SRP is not set
CONFIG_ATA=y
# CONFIG_ATA_NONSTANDARD is not set
CONFIG_ATA_ACPI=y
CONFIG_SATA_AHCI=y
# CONFIG_SATA_SVW is not set
CONFIG_ATA_PIIX=y
CONFIG_SATA_MV=y
CONFIG_SATA_NV=y
# CONFIG_PDC_ADMA is not set
# CONFIG_SATA_QSTOR is not set
CONFIG_SATA_PROMISE=y
CONFIG_SATA_SX4=y
CONFIG_SATA_SIL=y
CONFIG_SATA_SIL24=y
CONFIG_SATA_SIS=y
CONFIG_SATA_ULI=y
CONFIG_SATA_VIA=y
CONFIG_SATA_VITESSE=y
# CONFIG_SATA_INIC162X is not set
# CONFIG_PATA_ACPI is not set
# CONFIG_PATA_ALI is not set
# CONFIG_PATA_AMD is not set
# CONFIG_PATA_ARTOP is not set
# CONFIG_PATA_ATIIXP is not set
# CONFIG_PATA_CMD640_PCI is not set
# CONFIG_PATA_CMD64X is not set
# CONFIG_PATA_CS5520 is not set
# CONFIG_PATA_CS5530 is not set
# CONFIG_PATA_CYPRESS is not set
# CONFIG_PATA_EFAR is not set
# CONFIG_ATA_GENERIC is not set
# CONFIG_PATA_HPT366 is not set
# CONFIG_PATA_HPT37X is not set
# CONFIG_PATA_HPT3X2N is not set
# CONFIG_PATA_HPT3X3 is not set
# CONFIG_PATA_IT821X is not set
# CONFIG_PATA_IT8213 is not set
# CONFIG_PATA_JMICRON is not set
# CONFIG_PATA_TRIFLEX is not set
# CONFIG_PATA_MARVELL is not set
# CONFIG_PATA_MPIIX is not set
# CONFIG_PATA_OLDPIIX is not set
# CONFIG_PATA_NETCELL is not set
# CONFIG_PATA_NINJA32 is not set
# CONFIG_PATA_NS87410 is not set
# CONFIG_PATA_NS87415 is not set
# CONFIG_PATA_OPTI is not set
# CONFIG_PATA_OPTIDMA is not set
# CONFIG_PATA_PDC_OLD is not set
# CONFIG_PATA_RADISYS is not set
# CONFIG_PATA_RZ1000 is not set
# CONFIG_PATA_SC1200 is not set
# CONFIG_PATA_SERVERWORKS is not set
# CONFIG_PATA_PDC2027X is not set
# CONFIG_PATA_SIL680 is not set
CONFIG_PATA_SIS=y
# CONFIG_PATA_VIA is not set
# CONFIG_PATA_WINBOND is not set
# CONFIG_PATA_PLATFORM is not set
CONFIG_MD=y
CONFIG_BLK_DEV_MD=m
CONFIG_MD_LINEAR=m
CONFIG_MD_RAID0=m
CONFIG_MD_RAID1=m
CONFIG_MD_RAID10=m
CONFIG_MD_RAID456=m
CONFIG_MD_RAID5_RESHAPE=y
CONFIG_MD_MULTIPATH=m
CONFIG_MD_FAULTY=m
CONFIG_BLK_DEV_DM=m
CONFIG_DM_DEBUG=y
CONFIG_DM_CRYPT=m
# CONFIG_DM_SNAPSHOT is not set
# CONFIG_DM_MIRROR is not set
# CONFIG_DM_ZERO is not set
# CONFIG_DM_MULTIPATH is not set
# CONFIG_DM_DELAY is not set
# CONFIG_DM_UEVENT is not set
# CONFIG_FUSION is not set

#
# IEEE 1394 (FireWire) support
#
# CONFIG_FIREWIRE is not set
# CONFIG_IEEE1394 is not set
# CONFIG_I2O is not set
# CONFIG_MACINTOSH_DRIVERS is not set
CONFIG_NETDEVICES=y
# CONFIG_NETDEVICES_MULTIQUEUE is not set
CONFIG_DUMMY=m
CONFIG_BONDING=m
# CONFIG_MACVLAN is not set
CONFIG_EQUALIZER=m
CONFIG_TUN=m
# CONFIG_VETH is not set
# CONFIG_NET_SB1000 is not set
# CONFIG_ARCNET is not set
# CONFIG_PHYLIB is not set
CONFIG_NET_ETHERNET=y
CONFIG_MII=y
CONFIG_HAPPYMEAL=y
CONFIG_SUNGEM=y
# CONFIG_CASSINI is not set
CONFIG_NET_VENDOR_3COM=y
CONFIG_VORTEX=y
CONFIG_TYPHOON=y
# CONFIG_NET_TULIP is not set
CONFIG_HP100=y
# CONFIG_IBM_NEW_EMAC_ZMII is not set
# CONFIG_IBM_NEW_EMAC_RGMII is not set
# CONFIG_IBM_NEW_EMAC_TAH is not set
# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
CONFIG_NET_PCI=y
# CONFIG_PCNET32 is not set
# CONFIG_AMD8111_ETH is not set
# CONFIG_ADAPTEC_STARFIRE is not set
# CONFIG_B44 is not set
# CONFIG_FORCEDETH is not set
# CONFIG_EEPRO100 is not set
# CONFIG_E100 is not set
# CONFIG_FEALNX is not set
# CONFIG_NATSEMI is not set
# CONFIG_NE2K_PCI is not set
# CONFIG_8139CP is not set
# CONFIG_8139TOO is not set
# CONFIG_R6040 is not set
# CONFIG_SIS900 is not set
# CONFIG_EPIC100 is not set
# CONFIG_SUNDANCE is not set
# CONFIG_VIA_RHINE is not set
# CONFIG_SC92031 is not set
# CONFIG_NET_POCKET is not set
CONFIG_NETDEV_1000=y
# CONFIG_ACENIC is not set
# CONFIG_DL2K is not set
# CONFIG_E1000 is not set
# CONFIG_E1000E is not set
# CONFIG_E1000E_ENABLED is not set
# CONFIG_IP1000 is not set
# CONFIG_IGB is not set
# CONFIG_NS83820 is not set
# CONFIG_HAMACHI is not set
# CONFIG_YELLOWFIN is not set
# CONFIG_R8169 is not set
# CONFIG_SIS190 is not set
# CONFIG_SKGE is not set
# CONFIG_SKY2 is not set
# CONFIG_SK98LIN is not set
# CONFIG_VIA_VELOCITY is not set
# CONFIG_TIGON3 is not set
# CONFIG_BNX2 is not set
# CONFIG_QLA3XXX is not set
# CONFIG_ATL1 is not set
CONFIG_NETDEV_10000=y
# CONFIG_CHELSIO_T1 is not set
# CONFIG_CHELSIO_T3 is not set
# CONFIG_IXGBE is not set
# CONFIG_IXGB is not set
# CONFIG_S2IO is not set
# CONFIG_MYRI10GE is not set
# CONFIG_NETXEN_NIC is not set
# CONFIG_NIU is not set
# CONFIG_MLX4_CORE is not set
# CONFIG_TEHUTI is not set
# CONFIG_BNX2X is not set
# CONFIG_TR is not set

#
# Wireless LAN
#
# CONFIG_WLAN_PRE80211 is not set
# CONFIG_WLAN_80211 is not set

#
# USB Network Adapters
#
# CONFIG_USB_CATC is not set
# CONFIG_USB_KAWETH is not set
# CONFIG_USB_PEGASUS is not set
# CONFIG_USB_RTL8150 is not set
# CONFIG_USB_USBNET is not set
# CONFIG_WAN is not set
# CONFIG_FDDI is not set
# CONFIG_HIPPI is not set
# CONFIG_PLIP is not set
# CONFIG_PPP is not set
# CONFIG_SLIP is not set
# CONFIG_NET_FC is not set
# CONFIG_NETCONSOLE is not set
# CONFIG_NETPOLL is not set
# CONFIG_NET_POLL_CONTROLLER is not set
# CONFIG_ISDN is not set
# CONFIG_PHONE is not set

#
# Input device support
#
CONFIG_INPUT=y
# CONFIG_INPUT_FF_MEMLESS is not set
CONFIG_INPUT_POLLDEV=m

#
# Userland interfaces
#
CONFIG_INPUT_MOUSEDEV=y
CONFIG_INPUT_MOUSEDEV_PSAUX=y
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
# CONFIG_INPUT_JOYDEV is not set
CONFIG_INPUT_EVDEV=m
# CONFIG_INPUT_EVBUG is not set

#
# Input Device Drivers
#
CONFIG_INPUT_KEYBOARD=y
CONFIG_KEYBOARD_ATKBD=y
# CONFIG_KEYBOARD_SUNKBD is not set
# CONFIG_KEYBOARD_LKKBD is not set
# CONFIG_KEYBOARD_XTKBD is not set
# CONFIG_KEYBOARD_NEWTON is not set
# CONFIG_KEYBOARD_STOWAWAY is not set
CONFIG_INPUT_MOUSE=y
CONFIG_MOUSE_PS2=y
CONFIG_MOUSE_PS2_ALPS=y
CONFIG_MOUSE_PS2_LOGIPS2PP=y
CONFIG_MOUSE_PS2_SYNAPTICS=y
CONFIG_MOUSE_PS2_LIFEBOOK=y
CONFIG_MOUSE_PS2_TRACKPOINT=y
CONFIG_MOUSE_PS2_TOUCHKIT=y
CONFIG_MOUSE_SERIAL=y
CONFIG_MOUSE_APPLETOUCH=y
# CONFIG_MOUSE_VSXXXAA is not set
# CONFIG_INPUT_JOYSTICK is not set
# CONFIG_INPUT_TABLET is not set
# CONFIG_INPUT_TOUCHSCREEN is not set
# CONFIG_INPUT_MISC is not set

#
# Hardware I/O ports
#
CONFIG_SERIO=y
CONFIG_SERIO_I8042=y
CONFIG_SERIO_SERPORT=y
# CONFIG_SERIO_CT82C710 is not set
# CONFIG_SERIO_PARKBD is not set
CONFIG_SERIO_PCIPS2=y
CONFIG_SERIO_LIBPS2=y
# CONFIG_SERIO_RAW is not set
CONFIG_GAMEPORT=y
CONFIG_GAMEPORT_NS558=y
# CONFIG_GAMEPORT_L4 is not set
# CONFIG_GAMEPORT_EMU10K1 is not set
# CONFIG_GAMEPORT_FM801 is not set

#
# Character devices
#
CONFIG_VT=y
CONFIG_VT_CONSOLE=y
CONFIG_HW_CONSOLE=y
# CONFIG_VT_HW_CONSOLE_BINDING is not set
# CONFIG_SERIAL_NONSTANDARD is not set
# CONFIG_NOZOMI is not set

#
# Serial drivers
#
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_FIX_EARLYCON_MEM=y
CONFIG_SERIAL_8250_PCI=y
CONFIG_SERIAL_8250_PNP=y
CONFIG_SERIAL_8250_NR_UARTS=4
CONFIG_SERIAL_8250_RUNTIME_UARTS=4
CONFIG_SERIAL_8250_EXTENDED=y
CONFIG_SERIAL_8250_MANY_PORTS=y
CONFIG_SERIAL_8250_SHARE_IRQ=y
CONFIG_SERIAL_8250_DETECT_IRQ=y
# CONFIG_SERIAL_8250_RSA is not set

#
# Non-8250 serial port support
#
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
# CONFIG_SERIAL_JSM is not set
CONFIG_UNIX98_PTYS=y
CONFIG_LEGACY_PTYS=y
CONFIG_LEGACY_PTY_COUNT=256
# CONFIG_PRINTER is not set
# CONFIG_PPDEV is not set
# CONFIG_IPMI_HANDLER is not set
CONFIG_HW_RANDOM=m
CONFIG_HW_RANDOM_INTEL=m
CONFIG_HW_RANDOM_AMD=m
# CONFIG_NVRAM is not set
# CONFIG_RTC is not set
# CONFIG_GEN_RTC is not set
# CONFIG_R3964 is not set
# CONFIG_APPLICOM is not set
# CONFIG_MWAVE is not set
# CONFIG_PC8736x_GPIO is not set
# CONFIG_RAW_DRIVER is not set
# CONFIG_HPET is not set
# CONFIG_HANGCHECK_TIMER is not set
# CONFIG_TCG_TPM is not set
# CONFIG_TELCLOCK is not set
CONFIG_DEVPORT=y
# CONFIG_I2C is not set

#
# SPI support
#
# CONFIG_SPI is not set
# CONFIG_SPI_MASTER is not set
# CONFIG_W1 is not set
CONFIG_POWER_SUPPLY=y
# CONFIG_POWER_SUPPLY_DEBUG is not set
# CONFIG_PDA_POWER is not set
# CONFIG_BATTERY_DS2760 is not set
CONFIG_HWMON=y
# CONFIG_HWMON_VID is not set
# CONFIG_SENSORS_ABITUGURU is not set
# CONFIG_SENSORS_ABITUGURU3 is not set
# CONFIG_SENSORS_K8TEMP is not set
# CONFIG_SENSORS_I5K_AMB is not set
# CONFIG_SENSORS_F71805F is not set
# CONFIG_SENSORS_F71882FG is not set
# CONFIG_SENSORS_CORETEMP is not set
# CONFIG_SENSORS_IT87 is not set
# CONFIG_SENSORS_PC87360 is not set
# CONFIG_SENSORS_PC87427 is not set
# CONFIG_SENSORS_SIS5595 is not set
# CONFIG_SENSORS_SMSC47M1 is not set
# CONFIG_SENSORS_SMSC47B397 is not set
# CONFIG_SENSORS_VIA686A is not set
# CONFIG_SENSORS_VT1211 is not set
# CONFIG_SENSORS_VT8231 is not set
# CONFIG_SENSORS_W83627HF is not set
# CONFIG_SENSORS_W83627EHF is not set
# CONFIG_SENSORS_HDAPS is not set
# CONFIG_SENSORS_APPLESMC is not set
# CONFIG_HWMON_DEBUG_CHIP is not set
CONFIG_THERMAL=y
# CONFIG_WATCHDOG is not set

#
# Sonics Silicon Backplane
#
CONFIG_SSB_POSSIBLE=y
# CONFIG_SSB is not set

#
# Multifunction device drivers
#
# CONFIG_MFD_SM501 is not set

#
# Multimedia devices
#
# CONFIG_VIDEO_DEV is not set
# CONFIG_DVB_CORE is not set
# CONFIG_DAB is not set

#
# Graphics support
#
CONFIG_AGP=y
CONFIG_AGP_AMD64=y
# CONFIG_AGP_INTEL is not set
# CONFIG_AGP_SIS is not set
# CONFIG_AGP_VIA is not set
# CONFIG_DRM is not set
# CONFIG_VGASTATE is not set
# CONFIG_VIDEO_OUTPUT_CONTROL is not set
# CONFIG_FB is not set
# CONFIG_BACKLIGHT_LCD_SUPPORT is not set

#
# Display device support
#
# CONFIG_DISPLAY_SUPPORT is not set

#
# Console display driver support
#
CONFIG_VGA_CONSOLE=y
CONFIG_VGACON_SOFT_SCROLLBACK=y
CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64
CONFIG_VIDEO_SELECT=y
CONFIG_DUMMY_CONSOLE=y

#
# Sound
#
# CONFIG_SOUND is not set
CONFIG_HID_SUPPORT=y
CONFIG_HID=y
# CONFIG_HID_DEBUG is not set
# CONFIG_HIDRAW is not set

#
# USB Input Devices
#
CONFIG_USB_HID=y
# CONFIG_USB_HIDINPUT_POWERBOOK is not set
# CONFIG_HID_FF is not set
# CONFIG_USB_HIDDEV is not set
CONFIG_USB_SUPPORT=y
CONFIG_USB_ARCH_HAS_HCD=y
CONFIG_USB_ARCH_HAS_OHCI=y
CONFIG_USB_ARCH_HAS_EHCI=y
CONFIG_USB=y
# CONFIG_USB_DEBUG is not set
# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set

#
# Miscellaneous USB options
#
# CONFIG_USB_DEVICEFS is not set
CONFIG_USB_DEVICE_CLASS=y
# CONFIG_USB_DYNAMIC_MINORS is not set
# CONFIG_USB_SUSPEND is not set
# CONFIG_USB_PERSIST is not set
# CONFIG_USB_OTG is not set

#
# USB Host Controller Drivers
#
# CONFIG_USB_EHCI_HCD is not set
# CONFIG_USB_ISP116X_HCD is not set
# CONFIG_USB_OHCI_HCD is not set
# CONFIG_USB_UHCI_HCD is not set
# CONFIG_USB_SL811_HCD is not set
# CONFIG_USB_R8A66597_HCD is not set

#
# USB Device Class drivers
#
# CONFIG_USB_ACM is not set
# CONFIG_USB_PRINTER is not set

#
# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
#

#
# may also be needed; see USB_STORAGE Help for more information
#
# CONFIG_USB_STORAGE is not set
# CONFIG_USB_LIBUSUAL is not set

#
# USB Imaging devices
#
# CONFIG_USB_MDC800 is not set
# CONFIG_USB_MICROTEK is not set
CONFIG_USB_MON=y

#
# USB port drivers
#
# CONFIG_USB_USS720 is not set
# CONFIG_USB_SERIAL is not set

#
# USB Miscellaneous drivers
#
# CONFIG_USB_EMI62 is not set
# CONFIG_USB_EMI26 is not set
# CONFIG_USB_ADUTUX is not set
# CONFIG_USB_AUERSWALD is not set
# CONFIG_USB_RIO500 is not set
# CONFIG_USB_LEGOTOWER is not set
# CONFIG_USB_LCD is not set
# CONFIG_USB_BERRY_CHARGE is not set
# CONFIG_USB_LED is not set
# CONFIG_USB_CYPRESS_CY7C63 is not set
# CONFIG_USB_CYTHERM is not set
# CONFIG_USB_PHIDGET is not set
# CONFIG_USB_IDMOUSE is not set
# CONFIG_USB_FTDI_ELAN is not set
# CONFIG_USB_APPLEDISPLAY is not set
# CONFIG_USB_LD is not set
# CONFIG_USB_TRANCEVIBRATOR is not set
# CONFIG_USB_IOWARRIOR is not set
# CONFIG_USB_GADGET is not set
# CONFIG_MMC is not set
# CONFIG_MEMSTICK is not set
# CONFIG_NEW_LEDS is not set
# CONFIG_INFINIBAND is not set
# CONFIG_EDAC is not set
CONFIG_RTC_LIB=y
CONFIG_RTC_CLASS=y
# CONFIG_RTC_HCTOSYS is not set
# CONFIG_RTC_DEBUG is not set

#
# RTC interfaces
#
# CONFIG_RTC_INTF_SYSFS is not set
# CONFIG_RTC_INTF_PROC is not set
# CONFIG_RTC_INTF_DEV is not set
# CONFIG_RTC_DRV_TEST is not set

#
# SPI RTC drivers
#

#
# Platform RTC drivers
#
# CONFIG_RTC_DRV_CMOS is not set
# CONFIG_RTC_DRV_DS1511 is not set
# CONFIG_RTC_DRV_DS1553 is not set
# CONFIG_RTC_DRV_DS1742 is not set
# CONFIG_RTC_DRV_STK17TA8 is not set
# CONFIG_RTC_DRV_M48T86 is not set
# CONFIG_RTC_DRV_M48T59 is not set
# CONFIG_RTC_DRV_V3020 is not set

#
# on-CPU RTC drivers
#
# CONFIG_DMADEVICES is not set
# CONFIG_AUXDISPLAY is not set

#
# Userspace I/O
#
# CONFIG_UIO is not set

#
# Firmware Drivers
#
# CONFIG_EDD is not set
# CONFIG_DELL_RBU is not set
# CONFIG_DCDBAS is not set
CONFIG_DMIID=y

#
# File systems
#
# CONFIG_EXT2_FS is not set
# CONFIG_EXT3_FS is not set
# CONFIG_EXT4DEV_FS is not set
# CONFIG_REISERFS_FS is not set
# CONFIG_JFS_FS is not set
CONFIG_FS_POSIX_ACL=y
# CONFIG_XFS_FS is not set
# CONFIG_GFS2_FS is not set
# CONFIG_OCFS2_FS is not set
# CONFIG_DNOTIFY is not set
# CONFIG_INOTIFY is not set
# CONFIG_QUOTA is not set
# CONFIG_AUTOFS_FS is not set
# CONFIG_AUTOFS4_FS is not set
# CONFIG_FUSE_FS is not set
CONFIG_GENERIC_ACL=y

#
# CD-ROM/DVD Filesystems
#
# CONFIG_ISO9660_FS is not set
# CONFIG_UDF_FS is not set

#
# DOS/FAT/NT Filesystems
#
# CONFIG_MSDOS_FS is not set
# CONFIG_VFAT_FS is not set
# CONFIG_NTFS_FS is not set

#
# Pseudo filesystems
#
CONFIG_PROC_FS=y
CONFIG_PROC_KCORE=y
CONFIG_PROC_SYSCTL=y
CONFIG_SYSFS=y
CONFIG_TMPFS=y
CONFIG_TMPFS_POSIX_ACL=y
CONFIG_HUGETLBFS=y
CONFIG_HUGETLB_PAGE=y
CONFIG_CONFIGFS_FS=m

#
# Miscellaneous filesystems
#
# CONFIG_ADFS_FS is not set
# CONFIG_AFFS_FS is not set
# CONFIG_HFS_FS is not set
# CONFIG_HFSPLUS_FS is not set
# CONFIG_BEFS_FS is not set
# CONFIG_BFS_FS is not set
# CONFIG_EFS_FS is not set
# CONFIG_CRAMFS is not set
# CONFIG_VXFS_FS is not set
# CONFIG_MINIX_FS is not set
# CONFIG_HPFS_FS is not set
# CONFIG_QNX4FS_FS is not set
# CONFIG_ROMFS_FS is not set
# CONFIG_SYSV_FS is not set
# CONFIG_UFS_FS is not set
# CONFIG_NETWORK_FILESYSTEMS is not set

#
# Partition Types
#
# CONFIG_PARTITION_ADVANCED is not set
CONFIG_MSDOS_PARTITION=y
# CONFIG_NLS is not set
# CONFIG_DLM is not set

#
# Kernel hacking
#
CONFIG_TRACE_IRQFLAGS_SUPPORT=y
# CONFIG_PRINTK_TIME is not set
CONFIG_ENABLE_WARN_DEPRECATED=y
CONFIG_ENABLE_MUST_CHECK=y
CONFIG_MAGIC_SYSRQ=y
CONFIG_UNUSED_SYMBOLS=y
CONFIG_DEBUG_FS=y
# CONFIG_HEADERS_CHECK is not set
CONFIG_DEBUG_KERNEL=y
# CONFIG_DEBUG_SHIRQ is not set
CONFIG_DETECT_SOFTLOCKUP=y
# CONFIG_SCHED_DEBUG is not set
CONFIG_SCHEDSTATS=y
# CONFIG_TIMER_STATS is not set
# CONFIG_DEBUG_SLAB is not set
# CONFIG_DEBUG_PREEMPT is not set
# CONFIG_DEBUG_RT_MUTEXES is not set
# CONFIG_RT_MUTEX_TESTER is not set
# CONFIG_DEBUG_SPINLOCK is not set
CONFIG_DEBUG_MUTEXES=y
# CONFIG_DEBUG_LOCK_ALLOC is not set
# CONFIG_PROVE_LOCKING is not set
# CONFIG_LOCK_STAT is not set
CONFIG_DEBUG_SPINLOCK_SLEEP=y
# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
# CONFIG_DEBUG_KOBJECT is not set
# CONFIG_DEBUG_BUGVERBOSE is not set
# CONFIG_DEBUG_INFO is not set
# CONFIG_DEBUG_VM is not set
# CONFIG_DEBUG_LIST is not set
# CONFIG_DEBUG_SG is not set
# CONFIG_FRAME_POINTER is not set
# CONFIG_BOOT_PRINTK_DELAY is not set
# CONFIG_RCU_TORTURE_TEST is not set
# CONFIG_BACKTRACE_SELF_TEST is not set
# CONFIG_FAULT_INJECTION is not set
# CONFIG_LATENCYTOP is not set
# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
# CONFIG_SAMPLES is not set
CONFIG_EARLY_PRINTK=y
# CONFIG_DEBUG_STACKOVERFLOW is not set
# CONFIG_DEBUG_STACK_USAGE is not set
# CONFIG_DEBUG_PAGEALLOC is not set
# CONFIG_DEBUG_PER_CPU_MAPS is not set
# CONFIG_DEBUG_RODATA is not set
# CONFIG_DEBUG_NX_TEST is not set
CONFIG_X86_MPPARSE=y
# CONFIG_IOMMU_DEBUG is not set
CONFIG_IO_DELAY_TYPE_0X80=0
CONFIG_IO_DELAY_TYPE_0XED=1
CONFIG_IO_DELAY_TYPE_UDELAY=2
CONFIG_IO_DELAY_TYPE_NONE=3
CONFIG_IO_DELAY_0X80=y
# CONFIG_IO_DELAY_0XED is not set
# CONFIG_IO_DELAY_UDELAY is not set
# CONFIG_IO_DELAY_NONE is not set
CONFIG_DEFAULT_IO_DELAY_TYPE=0
# CONFIG_DEBUG_BOOT_PARAMS is not set
# CONFIG_CPA_DEBUG is not set

#
# Security options
#
# CONFIG_KEYS is not set
# CONFIG_SECURITY is not set
# CONFIG_SECURITY_FILE_CAPABILITIES is not set
CONFIG_XOR_BLOCKS=m
CONFIG_ASYNC_CORE=m
CONFIG_ASYNC_MEMCPY=m
CONFIG_ASYNC_XOR=m
CONFIG_CRYPTO=y
CONFIG_CRYPTO_ALGAPI=y
CONFIG_CRYPTO_AEAD=y
CONFIG_CRYPTO_BLKCIPHER=y
# CONFIG_CRYPTO_SEQIV is not set
CONFIG_CRYPTO_HASH=y
CONFIG_CRYPTO_MANAGER=y
CONFIG_CRYPTO_HMAC=y
# CONFIG_CRYPTO_XCBC is not set
# CONFIG_CRYPTO_NULL is not set
# CONFIG_CRYPTO_MD4 is not set
CONFIG_CRYPTO_MD5=y
CONFIG_CRYPTO_SHA1=y
# CONFIG_CRYPTO_SHA256 is not set
# CONFIG_CRYPTO_SHA512 is not set
# CONFIG_CRYPTO_WP512 is not set
# CONFIG_CRYPTO_TGR192 is not set
# CONFIG_CRYPTO_GF128MUL is not set
CONFIG_CRYPTO_ECB=m
CONFIG_CRYPTO_CBC=y
# CONFIG_CRYPTO_PCBC is not set
# CONFIG_CRYPTO_LRW is not set
# CONFIG_CRYPTO_XTS is not set
# CONFIG_CRYPTO_CTR is not set
# CONFIG_CRYPTO_GCM is not set
# CONFIG_CRYPTO_CCM is not set
# CONFIG_CRYPTO_CRYPTD is not set
CONFIG_CRYPTO_DES=y
# CONFIG_CRYPTO_FCRYPT is not set
# CONFIG_CRYPTO_BLOWFISH is not set
# CONFIG_CRYPTO_TWOFISH is not set
# CONFIG_CRYPTO_TWOFISH_X86_64 is not set
# CONFIG_CRYPTO_SERPENT is not set
CONFIG_CRYPTO_AES=m
# CONFIG_CRYPTO_AES_X86_64 is not set
# CONFIG_CRYPTO_CAST5 is not set
# CONFIG_CRYPTO_CAST6 is not set
# CONFIG_CRYPTO_TEA is not set
CONFIG_CRYPTO_ARC4=m
# CONFIG_CRYPTO_KHAZAD is not set
# CONFIG_CRYPTO_ANUBIS is not set
# CONFIG_CRYPTO_SEED is not set
# CONFIG_CRYPTO_SALSA20 is not set
# CONFIG_CRYPTO_SALSA20_X86_64 is not set
CONFIG_CRYPTO_DEFLATE=m
CONFIG_CRYPTO_MICHAEL_MIC=m
# CONFIG_CRYPTO_CRC32C is not set
# CONFIG_CRYPTO_CAMELLIA is not set
# CONFIG_CRYPTO_TEST is not set
CONFIG_CRYPTO_AUTHENC=y
# CONFIG_CRYPTO_LZO is not set
# CONFIG_CRYPTO_HW is not set
CONFIG_HAVE_KVM=y
# CONFIG_VIRTUALIZATION is not set

#
# Library routines
#
CONFIG_BITREVERSE=y
CONFIG_CRC_CCITT=y
CONFIG_CRC16=y
CONFIG_CRC_ITU_T=y
CONFIG_CRC32=y
# CONFIG_CRC7 is not set
CONFIG_LIBCRC32C=m
CONFIG_ZLIB_INFLATE=m
CONFIG_ZLIB_DEFLATE=m
CONFIG_PLIST=y
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT=y
CONFIG_HAS_DMA=y

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [PATCH 1/3] debloat aic7xxx and aic79xx drivers
  2008-04-07 10:31   ` [PATCH 1/3] " Hannes Reinecke
@ 2008-04-07 18:01     ` Denys Vlasenko
  0 siblings, 0 replies; 24+ messages in thread
From: Denys Vlasenko @ 2008-04-07 18:01 UTC (permalink / raw)
  To: Hannes Reinecke; +Cc: Andrew Morton, linux-scsi, linux-kernel

On Monday 07 April 2008 12:31, Hannes Reinecke wrote:
> Hi Denys,
> 
> Denys Vlasenko wrote:
> > Deinlines and moves big functions from .h to .c files.
> > Adds prototypes for ahc_lookup_scb and ahd_lookup_scb to .h files.
> > 
> > Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
> > --
> > vda
> Patch looks good to me.
> 
> Signed-off-by: Hannes Reinecke <hare@suse.de>

Thanks! Please, queue it up in linux-scsi tree.
--
vda

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [PATCH 2/3] debloat aic7xxx and aic79xx drivers
  2008-04-07 18:00       ` Denys Vlasenko
@ 2008-04-08 12:23         ` Hannes Reinecke
  2008-04-08 14:08           ` Denys Vlasenko
  0 siblings, 1 reply; 24+ messages in thread
From: Hannes Reinecke @ 2008-04-08 12:23 UTC (permalink / raw)
  To: Denys Vlasenko; +Cc: Andrew Morton, linux-scsi

Hi Denys,

Denys Vlasenko wrote:
> On Monday 07 April 2008 12:34, Hannes Reinecke wrote:
>>> Adds statics, #ifdefs out huge amount of unused code, adds consts
>>>
>>> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
>>> --
>>> vda
>>>
>> NACK. We need the #defines to print out the registers.
>> And in either case the *_shipped files are in fact
>> autogenerated by aic assembler, so we need to fix that
>> one, too.
> 
> I assume you are talking about this part of a patch:
> 
> --- linux-2.6.25-rc6-aic1/drivers/scsi/aic7xxx/aic79xx_reg.h_shipped    2008-03-23 00:43:20.000000000 +0100
> +++ linux-2.6.25-rc6-aic2/drivers/scsi/aic7xxx/aic79xx_reg.h_shipped    2008-03-23 00:54:59.000000000 +0100
> @@ -11,23 +11,18 @@ typedef struct ahd_reg_parse_entry {
>         uint8_t  value;
>         uint8_t  mask;
>  } ahd_reg_parse_entry_t;
> 
> +#if 0 /* unused */
> +
>  #if AIC_DEBUG_REGISTERS
>  ahd_reg_print_t ahd_mode_ptr_print;
>  #else
>  #define ahd_mode_ptr_print(regvalue, cur_col, wrap) \
>      ahd_print_register(NULL, 0, "MODE_PTR", 0x00, regvalue, cur_col, wrap)
>  #endif
> 
> .....
> .....
> 
Correct.

> 
> Let me explain what I am doing here. I am NOT deleting ahd_intstat_print
> definition, I am moving it below the #endif which terminates big
> #if 0 /* unused */  block, moving to this place:
> 
> 
> @@ -2377,8 +2043,346 @@ ahd_reg_print_t ahd_scb_disconnected_lis
>  #define ahd_scb_disconnected_lists_print(regvalue, cur_col, wrap) \
>      ahd_print_register(NULL, 0, "SCB_DISCONNECTED_LISTS", 0x1b8, regvalue, cur_col, wrap)
>  #endif
> 
> +#endif /* unused */
> +
> +#if AIC_DEBUG_REGISTERS
> +ahd_reg_print_t ahd_intstat_print;
> +#else
> +#define ahd_intstat_print(regvalue, cur_col, wrap) \
> +    ahd_print_register(NULL, 0, "INTSTAT", 0x01, regvalue, cur_col, wrap)
> +#endif
> ...
> ...
> 
Hmm.

> 
> #if 0 / #endif block ends up containing definitions of 290 functions/macros,
> none of which is EVER used. I used this script (below) and verified that
> they are never mentioned anywhere outside of *_shipped files.
> I also did test builds with and without debug enabled and they build
> with no problems. No undefined references!
> 
Well, still not quite. The point here is that all of the functions in the
*_shipped files are in fact auto-generated by aicasm, based on the definitions
in aic79xx.seq and aic79xx.reg. So the *_reg_print.c files contains
functions for all _defined_ registers, not the actually used ones.
What we have to do here is to modify aicasm to not print out the
unused definitions, and copy those (autogenerated) files over to
the *_shipped files to have them synced properly.
Hand-patching the *_shipped files is not a good idea.

The const idea is a good one, and actually a one-liner to fix:
diff --git a/drivers/scsi/aic7xxx/aicasm/aicasm_symbol.c b/drivers/scsi/aic7xxx/aicasm/aicasm_symbol.c
index f1f448d..a7a51e4 100644
--- a/drivers/scsi/aic7xxx/aicasm/aicasm_symbol.c
+++ b/drivers/scsi/aic7xxx/aicasm/aicasm_symbol.c
@@ -370,7 +370,7 @@ aic_print_reg_dump_start(FILE *dfile, symbol_node_t *regnode)
                return;
 
        fprintf(dfile,
-"static %sreg_parse_entry_t %s_parse_table[] = {\n",
+"static const %sreg_parse_entry_t %s_parse_table[] = {\n",
                prefix,
                regnode->symbol->name);
 }


Cheers,

Hannes
-- 
Dr. Hannes Reinecke		      zSeries & Storage
hare@suse.de			      +49 911 74053 688
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: Markus Rex, HRB 16746 (AG Nürnberg)
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply related	[flat|nested] 24+ messages in thread

* Re: [PATCH 2/3] debloat aic7xxx and aic79xx drivers
  2008-04-08 12:23         ` Hannes Reinecke
@ 2008-04-08 14:08           ` Denys Vlasenko
  2008-04-08 14:54             ` Hannes Reinecke
  2008-04-14 18:46             ` Denys Vlasenko
  0 siblings, 2 replies; 24+ messages in thread
From: Denys Vlasenko @ 2008-04-08 14:08 UTC (permalink / raw)
  To: Hannes Reinecke; +Cc: Andrew Morton, linux-scsi

On Tuesday 08 April 2008 14:23, Hannes Reinecke wrote:
> > I assume you are talking about this part of a patch:
> > 
> > --- linux-2.6.25-rc6-aic1/drivers/scsi/aic7xxx/aic79xx_reg.h_shipped    2008-03-23 00:43:20.000000000 +0100
> > +++ linux-2.6.25-rc6-aic2/drivers/scsi/aic7xxx/aic79xx_reg.h_shipped    2008-03-23 00:54:59.000000000 +0100
> > @@ -11,23 +11,18 @@ typedef struct ahd_reg_parse_entry {
> >         uint8_t  value;
> >         uint8_t  mask;
> >  } ahd_reg_parse_entry_t;
> > 
> > +#if 0 /* unused */
> > +
> >  #if AIC_DEBUG_REGISTERS
> >  ahd_reg_print_t ahd_mode_ptr_print;
> >  #else
> >  #define ahd_mode_ptr_print(regvalue, cur_col, wrap) \
> >      ahd_print_register(NULL, 0, "MODE_PTR", 0x00, regvalue, cur_col, wrap)
> >  #endif
> > 
> > .....
> > .....
> > 
> Correct.
> 
> > 
> > Let me explain what I am doing here. I am NOT deleting ahd_intstat_print
> > definition, I am moving it below the #endif which terminates big
> > #if 0 /* unused */  block, moving to this place:
> > 
> > 
> > @@ -2377,8 +2043,346 @@ ahd_reg_print_t ahd_scb_disconnected_lis
> >  #define ahd_scb_disconnected_lists_print(regvalue, cur_col, wrap) \
> >      ahd_print_register(NULL, 0, "SCB_DISCONNECTED_LISTS", 0x1b8, regvalue, cur_col, wrap)
> >  #endif
> > 
> > +#endif /* unused */
> > +
> > +#if AIC_DEBUG_REGISTERS
> > +ahd_reg_print_t ahd_intstat_print;
> > +#else
> > +#define ahd_intstat_print(regvalue, cur_col, wrap) \
> > +    ahd_print_register(NULL, 0, "INTSTAT", 0x01, regvalue, cur_col, wrap)
> > +#endif
> > ...
> > ...
> > 
> Hmm.
> 
> > 
> > #if 0 / #endif block ends up containing definitions of 290 functions/macros,
> > none of which is EVER used. I used this script (below) and verified that
> > they are never mentioned anywhere outside of *_shipped files.
> > I also did test builds with and without debug enabled and they build
> > with no problems. No undefined references!
> > 
> Well, still not quite. The point here is that all of the functions in the
> *_shipped files are in fact auto-generated by aicasm, based on the definitions
> in aic79xx.seq and aic79xx.reg. So the *_reg_print.c files contains
> functions for all _defined_ registers, not the actually used ones.
> What we have to do here is to modify aicasm to not print out the
> unused definitions, and copy those (autogenerated) files over to
> the *_shipped files to have them synced properly.
> Hand-patching the *_shipped files is not a good idea.

I do understand this, and I do understnad then _shipped files
are generated. But I failed to find out HOW they are generated.
I don't want to _only_ patch aicasm/* files and skip checking
that my changes work (or at least compile).

Please let me know how to regenerate these _shipped files,
and I will fix it "correctly" by modifying aicasm/* files.
--
vda

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [PATCH 2/3] debloat aic7xxx and aic79xx drivers
  2008-04-08 14:08           ` Denys Vlasenko
@ 2008-04-08 14:54             ` Hannes Reinecke
  2008-04-08 15:08               ` Denys Vlasenko
  2008-04-14 18:46             ` Denys Vlasenko
  1 sibling, 1 reply; 24+ messages in thread
From: Hannes Reinecke @ 2008-04-08 14:54 UTC (permalink / raw)
  To: Denys Vlasenko; +Cc: Andrew Morton, linux-scsi

Hi Denys,

Denys Vlasenko wrote:
> On Tuesday 08 April 2008 14:23, Hannes Reinecke wrote:
[ .. ]
>> What we have to do here is to modify aicasm to not print out the
>> unused definitions, and copy those (autogenerated) files over to
>> the *_shipped files to have them synced properly.
>> Hand-patching the *_shipped files is not a good idea.
> 
> I do understand this, and I do understnad then _shipped files
> are generated. But I failed to find out HOW they are generated.
> I don't want to _only_ patch aicasm/* files and skip checking
> that my changes work (or at least compile).
> 
> Please let me know how to regenerate these _shipped files,
> and I will fix it "correctly" by modifying aicasm/* files.
CONFIG_PREVENT_FIRMWARE_BUILD is the trick.
Once it's enable there's a config option which allows you to
build the aic7xxx firmware files from scratch.

But you need my patch I just posted to linux-scsi, otherwise
aicasm will complain and not build anything.

Cheers,

Hannes
-- 
Dr. Hannes Reinecke		      zSeries & Storage
hare@suse.de			      +49 911 74053 688
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: Markus Rex, HRB 16746 (AG Nürnberg)
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [PATCH 2/3] debloat aic7xxx and aic79xx drivers
  2008-04-08 14:54             ` Hannes Reinecke
@ 2008-04-08 15:08               ` Denys Vlasenko
  2008-04-14 18:47                 ` Denys Vlasenko
  0 siblings, 1 reply; 24+ messages in thread
From: Denys Vlasenko @ 2008-04-08 15:08 UTC (permalink / raw)
  To: Hannes Reinecke; +Cc: Andrew Morton, linux-scsi

On Tuesday 08 April 2008 16:54, Hannes Reinecke wrote:
> Hi Denys,
> 
> Denys Vlasenko wrote:
> > On Tuesday 08 April 2008 14:23, Hannes Reinecke wrote:
> [ .. ]
> >> What we have to do here is to modify aicasm to not print out the
> >> unused definitions, and copy those (autogenerated) files over to
> >> the *_shipped files to have them synced properly.
> >> Hand-patching the *_shipped files is not a good idea.
> > 
> > I do understand this, and I do understnad then _shipped files
> > are generated. But I failed to find out HOW they are generated.
> > I don't want to _only_ patch aicasm/* files and skip checking
> > that my changes work (or at least compile).
> > 
> > Please let me know how to regenerate these _shipped files,
> > and I will fix it "correctly" by modifying aicasm/* files.
>
> CONFIG_PREVENT_FIRMWARE_BUILD is the trick.
> Once it's enable there's a config option which allows you to
> build the aic7xxx firmware files from scratch.

Well, I already tried it, and I mentioned it in my previous email.
Relevant part of make output:

  LD      kernel/built-in.o
make -C drivers/scsi/aic7xxx/aicasm
bison -d -b aicasm_gram aicasm_gram.y
aicasm_gram.y: warning: 1 useless nonterminal and 6 useless rules
aicasm_gram.y:217.46-54: warning: useless nonterminal: f4_opcode
aicasm_gram.y:1315.9-37: warning: useless rule: f4_opcode: T_OR16
aicasm_gram.y:1316.9-38: warning: useless rule: f4_opcode: T_AND16
aicasm_gram.y:1317.9-38: warning: useless rule: f4_opcode: T_XOR16
aicasm_gram.y:1318.9-38: warning: useless rule: f4_opcode: T_ADD16
aicasm_gram.y:1319.9-38: warning: useless rule: f4_opcode: T_ADC16
aicasm_gram.y:1320.9-38: warning: useless rule: f4_opcode: T_MVI16
mv aicasm_gram.tab.c aicasm_gram.c
mv aicasm_gram.tab.h aicasm_gram.h
bison -d -b aicasm_macro_gram -p mm aicasm_macro_gram.y
mv aicasm_macro_gram.tab.c aicasm_macro_gram.c
mv aicasm_macro_gram.tab.h aicasm_macro_gram.h
flex  -oaicasm_scan.c aicasm_scan.l
flex  -Pmm -oaicasm_macro_scan.c aicasm_macro_scan.l
gcc -I/usr/include -I. aicasm.c aicasm_symbol.c aicasm_gram.c aicasm_macro_gram.c aicasm_scan.c aicasm_macro_scan.c -o aicasm -ldb
drivers/scsi/aic7xxx/aicasm/aicasm -Idrivers/scsi/aic7xxx -r drivers/scsi/aic7xxx/aic79xx_reg.h \
                      -p drivers/scsi/aic7xxx/aic79xx_reg_print.c -i aic79xx_osm.h -o drivers/scsi/aic7xxx/aic79xx_seq.h \
                      drivers/scsi/aic7xxx/aic79xx.seq
drivers/scsi/aic7xxx/aicasm/aicasm: 826 instructions used
  CC      drivers/scsi/aic7xxx/aic79xx_core.o
  CC      drivers/scsi/aic7xxx/aic79xx_pci.o
  CC      drivers/scsi/aic7xxx/aic79xx_reg_print.o
  CC      drivers/scsi/aic7xxx/aic79xx_osm.o
  CC      drivers/scsi/aic7xxx/aic79xx_proc.o
  CC      drivers/scsi/aic7xxx/aic79xx_osm_pci.o
drivers/scsi/aic7xxx/aicasm/aicasm -Idrivers/scsi/aic7xxx -r drivers/scsi/aic7xxx/aic7xxx_reg.h \
                      -p drivers/scsi/aic7xxx/aic7xxx_reg_print.c -i aic7xxx_osm.h -o drivers/scsi/aic7xxx/aic7xxx_seq.h \
                      drivers/scsi/aic7xxx/aic7xxx.seq
drivers/scsi/aic7xxx/aicasm/aicasm: 880 instructions used
  CC      drivers/scsi/aic7xxx/aic7xxx_core.o

> But you need my patch I just posted to linux-scsi, otherwise
> aicasm will complain and not build anything.

Indeed, I found out that _shipped files are not updated
after above.

Can you send this patch to me? I'm not subscribed to linux-scsi...
--
vda

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [PATCH 2/3] debloat aic7xxx and aic79xx drivers
  2008-04-08 14:08           ` Denys Vlasenko
  2008-04-08 14:54             ` Hannes Reinecke
@ 2008-04-14 18:46             ` Denys Vlasenko
  2008-04-15 14:44               ` Hannes Reinecke
  1 sibling, 1 reply; 24+ messages in thread
From: Denys Vlasenko @ 2008-04-14 18:46 UTC (permalink / raw)
  To: Hannes Reinecke; +Cc: Andrew Morton, linux-scsi

Hi Hannes,

On Tuesday 08 April 2008 16:08, Denys Vlasenko wrote:
> > > #if 0 / #endif block ends up containing definitions of 290 functions/macros,
> > > none of which is EVER used. I used this script (below) and verified that
> > > they are never mentioned anywhere outside of *_shipped files.
> > > I also did test builds with and without debug enabled and they build
> > > with no problems. No undefined references!
> > > 
> > Well, still not quite. The point here is that all of the functions in the
> > *_shipped files are in fact auto-generated by aicasm, based on the definitions
> > in aic79xx.seq and aic79xx.reg. So the *_reg_print.c files contains
> > functions for all _defined_ registers, not the actually used ones.
> > What we have to do here is to modify aicasm to not print out the
> > unused definitions, and copy those (autogenerated) files over to
> > the *_shipped files to have them synced properly.
> > Hand-patching the *_shipped files is not a good idea.
> 
> I do understand this, and I do understnad then _shipped files
> are generated. But I failed to find out HOW they are generated.
> I don't want to _only_ patch aicasm/* files and skip checking
> that my changes work (or at least compile).
> 
> Please let me know how to regenerate these _shipped files,
> and I will fix it "correctly" by modifying aicasm/* files.

I didn't get any reply. Perhaps you were busy with more important stuff.

Ping! :)
--
vda

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [PATCH 2/3] debloat aic7xxx and aic79xx drivers
  2008-04-08 15:08               ` Denys Vlasenko
@ 2008-04-14 18:47                 ` Denys Vlasenko
       [not found]                   ` <4804BE68.4000704@suse.de>
  0 siblings, 1 reply; 24+ messages in thread
From: Denys Vlasenko @ 2008-04-14 18:47 UTC (permalink / raw)
  To: Hannes Reinecke; +Cc: Andrew Morton, linux-scsi

On Tuesday 08 April 2008 17:08, Denys Vlasenko wrote:
> > > Please let me know how to regenerate these _shipped files,
> > > and I will fix it "correctly" by modifying aicasm/* files.
> >
> > CONFIG_PREVENT_FIRMWARE_BUILD is the trick.
> > Once it's enable there's a config option which allows you to
> > build the aic7xxx firmware files from scratch.
> 
> Well, I already tried it, and I mentioned it in my previous email.
> Relevant part of make output:
> 
>   LD      kernel/built-in.o
> make -C drivers/scsi/aic7xxx/aicasm
> bison -d -b aicasm_gram aicasm_gram.y
> aicasm_gram.y: warning: 1 useless nonterminal and 6 useless rules
> aicasm_gram.y:217.46-54: warning: useless nonterminal: f4_opcode
> aicasm_gram.y:1315.9-37: warning: useless rule: f4_opcode: T_OR16
> aicasm_gram.y:1316.9-38: warning: useless rule: f4_opcode: T_AND16
> aicasm_gram.y:1317.9-38: warning: useless rule: f4_opcode: T_XOR16
> aicasm_gram.y:1318.9-38: warning: useless rule: f4_opcode: T_ADD16
> aicasm_gram.y:1319.9-38: warning: useless rule: f4_opcode: T_ADC16
> aicasm_gram.y:1320.9-38: warning: useless rule: f4_opcode: T_MVI16
> mv aicasm_gram.tab.c aicasm_gram.c
> mv aicasm_gram.tab.h aicasm_gram.h
> bison -d -b aicasm_macro_gram -p mm aicasm_macro_gram.y
> mv aicasm_macro_gram.tab.c aicasm_macro_gram.c
> mv aicasm_macro_gram.tab.h aicasm_macro_gram.h
> flex  -oaicasm_scan.c aicasm_scan.l
> flex  -Pmm -oaicasm_macro_scan.c aicasm_macro_scan.l
> gcc -I/usr/include -I. aicasm.c aicasm_symbol.c aicasm_gram.c aicasm_macro_gram.c aicasm_scan.c aicasm_macro_scan.c -o aicasm -ldb
> drivers/scsi/aic7xxx/aicasm/aicasm -Idrivers/scsi/aic7xxx -r drivers/scsi/aic7xxx/aic79xx_reg.h \
>                       -p drivers/scsi/aic7xxx/aic79xx_reg_print.c -i aic79xx_osm.h -o drivers/scsi/aic7xxx/aic79xx_seq.h \
>                       drivers/scsi/aic7xxx/aic79xx.seq
> drivers/scsi/aic7xxx/aicasm/aicasm: 826 instructions used
>   CC      drivers/scsi/aic7xxx/aic79xx_core.o
>   CC      drivers/scsi/aic7xxx/aic79xx_pci.o
>   CC      drivers/scsi/aic7xxx/aic79xx_reg_print.o
>   CC      drivers/scsi/aic7xxx/aic79xx_osm.o
>   CC      drivers/scsi/aic7xxx/aic79xx_proc.o
>   CC      drivers/scsi/aic7xxx/aic79xx_osm_pci.o
> drivers/scsi/aic7xxx/aicasm/aicasm -Idrivers/scsi/aic7xxx -r drivers/scsi/aic7xxx/aic7xxx_reg.h \
>                       -p drivers/scsi/aic7xxx/aic7xxx_reg_print.c -i aic7xxx_osm.h -o drivers/scsi/aic7xxx/aic7xxx_seq.h \
>                       drivers/scsi/aic7xxx/aic7xxx.seq
> drivers/scsi/aic7xxx/aicasm/aicasm: 880 instructions used
>   CC      drivers/scsi/aic7xxx/aic7xxx_core.o
> 
> > But you need my patch I just posted to linux-scsi, otherwise
> > aicasm will complain and not build anything.
> 
> Indeed, I found out that _shipped files are not updated
> after above.
> 
> Can you send this patch to me? I'm not subscribed to linux-scsi...

Ping here as well.
--
vda

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [PATCH 2/3] debloat aic7xxx and aic79xx drivers
  2008-04-14 18:46             ` Denys Vlasenko
@ 2008-04-15 14:44               ` Hannes Reinecke
  0 siblings, 0 replies; 24+ messages in thread
From: Hannes Reinecke @ 2008-04-15 14:44 UTC (permalink / raw)
  To: Denys Vlasenko; +Cc: linux-scsi

Hi Denys,

Denys Vlasenko wrote:
> Hi Hannes,
> 
> On Tuesday 08 April 2008 16:08, Denys Vlasenko wrote:
[ .. ]
>> I do understand this, and I do understnad then _shipped files
>> are generated. But I failed to find out HOW they are generated.
>> I don't want to _only_ patch aicasm/* files and skip checking
>> that my changes work (or at least compile).
>>
>> Please let me know how to regenerate these _shipped files,
>> and I will fix it "correctly" by modifying aicasm/* files.
> 
> I didn't get any reply. Perhaps you were busy with more important stuff.
> 
There are such strange creatures named 'customers'. They have a habit
of get into the way ...

But I thought I had answered this already ...
Anyway, you'll have to enable the firmware build for aic7xxx / aic79xx
and do a diff between the files used for compiling and the *_shipped
files.
Then fixup the assembler in aicasm/* to print out the files in the way
you'd like it.
Once you're done you copy the generated files over to the *_shipped
files and send the diff.

Cheers,

Hannes
-- 
Dr. Hannes Reinecke		      zSeries & Storage
hare@suse.de			      +49 911 74053 688
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: Markus Rex, HRB 16746 (AG Nürnberg)
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [PATCH 2/3] debloat aic7xxx and aic79xx drivers
       [not found]                   ` <4804BE68.4000704@suse.de>
@ 2008-04-15 20:10                     ` Denys Vlasenko
  2008-04-21  5:10                       ` Denys Vlasenko
  0 siblings, 1 reply; 24+ messages in thread
From: Denys Vlasenko @ 2008-04-15 20:10 UTC (permalink / raw)
  To: Hannes Reinecke; +Cc: linux-scsi, Andrew Morton

[-- Attachment #1: Type: text/plain, Size: 3469 bytes --]

Hi Hannes,

On Tuesday 15 April 2008 16:40, Hannes Reinecke wrote:
> >>>> Please let me know how to regenerate these _shipped files,
> >>>> and I will fix it "correctly" by modifying aicasm/* files.
> >>> CONFIG_PREVENT_FIRMWARE_BUILD is the trick.
> >>> Once it's enable there's a config option which allows you to
> >>> build the aic7xxx firmware files from scratch.
> >> Well, I already tried it, and I mentioned it in my previous email.
> >>
> >>> But you need my patch I just posted to linux-scsi, otherwise
> >>> aicasm will complain and not build anything.
> >> Indeed, I found out that _shipped files are not updated
> >> after above.
> >>
> >> Can you send this patch to me? I'm not subscribed to linux-scsi...
> > 
> > Ping here as well.
> 
> Sorry, slipped off my to-do list.
> Here it is.

I'm afraid I will continue to bug you - it does not work. :(.

I applied your patch and I still couldn't get it to compile.
I thought that it may be caused by me using not the latest scsi-misc-2.6
git tree, so I downloaded the tree and retried. Alas, same result.

I followed your instructions:

> Anyway, you'll have to enable the firmware build for aic7xxx / aic79xx
> and do a diff between the files used for compiling and the *_shipped
> files.
> Then fixup the assembler in aicasm/* to print out the files in the way
> you'd like it.
> Once you're done you copy the generated files over to the *_shipped
> files and send the diff.

See attached .config file with firmware build options enabled.

Since I want *_shipped files regenerated, they, obviously, should not
take part in the build, so I renamed tham all to *_shipped-OFF,
intending later to rediff them against newly-generated files.

Then I ran "make bzImage" (64-bit x86) and got this error:

...
  LD      drivers/power/built-in.o
  CC      drivers/scsi/scsi.o
  CC      drivers/scsi/hosts.o
  CC      drivers/scsi/scsi_ioctl.o
  CC      drivers/scsi/constants.o
  CC      drivers/scsi/scsicam.o
  CC      drivers/scsi/scsi_error.o
  CC      drivers/scsi/scsi_lib.o
  CC      drivers/scsi/scsi_lib_dma.o
  CC      drivers/scsi/scsi_scan.o
  CC      drivers/scsi/scsi_sysfs.o
  CC      drivers/scsi/scsi_devinfo.o
  CC      drivers/scsi/scsi_sysctl.o
  CC      drivers/scsi/scsi_proc.o
  CC      drivers/scsi/scsi_tgt_lib.o
  CC      drivers/scsi/scsi_tgt_if.o
  CC      drivers/scsi/sd.o
  CC      drivers/scsi/sr.o
  CC      drivers/scsi/sr_ioctl.o
  CC      drivers/scsi/sr_vendor.o
  LD      drivers/scsi/scsi_mod.o
  LD      drivers/scsi/scsi_tgt.o
  CC      drivers/scsi/scsi_transport_spi.o
  CC      drivers/scsi/scsi_transport_sas.o
drivers/scsi/aic7xxx/aicasm/aicasm -Idrivers/scsi/aic7xxx -r drivers/scsi/aic7xxx/aic79xx_reg.h \
                      -p drivers/scsi/aic7xxx/aic79xx_reg_print.c -i aic79xx_osm.h -o drivers/scsi/aic7xxx/aic79xx_seq.h \
                      drivers/scsi/aic7xxx/aic79xx.seq
drivers/scsi/aic7xxx/aicasm/aicasm: Stopped at file drivers/scsi/aic7xxx/aic79xx.seq, line 263 - Invalid bit(s) 0xffffff00 in immediate wr
itten to ACCUM
drivers/scsi/aic7xxx/aicasm/aicasm: Removing drivers/scsi/aic7xxx/aic79xx_seq.h due to error
drivers/scsi/aic7xxx/aicasm/aicasm: Removing drivers/scsi/aic7xxx/aic79xx_reg.h due to error
make[3]: *** [drivers/scsi/aic7xxx/aic79xx_seq.h] Error 65
make[2]: *** [drivers/scsi/aic7xxx] Error 2
make[1]: *** [drivers/scsi] Error 2
make: *** [drivers] Error 2

This was on today's unmodified scsi-misc-2.6 git tree.

Please help.
--
vda

[-- Attachment #2: .config --]
[-- Type: text/plain, Size: 20506 bytes --]

#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.25-rc8
# Tue Apr 15 22:01:59 2008
#
CONFIG_64BIT=y
# CONFIG_X86_32 is not set
CONFIG_X86_64=y
CONFIG_X86=y
# CONFIG_GENERIC_LOCKBREAK is not set
CONFIG_GENERIC_TIME=y
CONFIG_GENERIC_CMOS_UPDATE=y
CONFIG_CLOCKSOURCE_WATCHDOG=y
CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_HAVE_LATENCYTOP_SUPPORT=y
CONFIG_SEMAPHORE_SLEEPERS=y
CONFIG_FAST_CMPXCHG_LOCAL=y
CONFIG_MMU=y
CONFIG_ZONE_DMA=y
CONFIG_GENERIC_ISA_DMA=y
CONFIG_GENERIC_IOMAP=y
CONFIG_GENERIC_BUG=y
CONFIG_GENERIC_HWEIGHT=y
# CONFIG_GENERIC_GPIO is not set
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
CONFIG_DMI=y
CONFIG_RWSEM_GENERIC_SPINLOCK=y
# CONFIG_RWSEM_XCHGADD_ALGORITHM is not set
# CONFIG_ARCH_HAS_ILOG2_U32 is not set
# CONFIG_ARCH_HAS_ILOG2_U64 is not set
CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_GENERIC_TIME_VSYSCALL=y
CONFIG_ARCH_HAS_CPU_RELAX=y
CONFIG_HAVE_SETUP_PER_CPU_AREA=y
CONFIG_ARCH_HIBERNATION_POSSIBLE=y
CONFIG_ARCH_SUSPEND_POSSIBLE=y
CONFIG_ZONE_DMA32=y
CONFIG_ARCH_POPULATES_NODE_MAP=y
CONFIG_AUDIT_ARCH=y
CONFIG_ARCH_SUPPORTS_AOUT=y
CONFIG_GENERIC_HARDIRQS=y
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_GENERIC_PENDING_IRQ=y
CONFIG_X86_SMP=y
CONFIG_X86_64_SMP=y
CONFIG_X86_TRAMPOLINE=y
# CONFIG_KTIME_SCALAR is not set
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"

#
# General setup
#
CONFIG_EXPERIMENTAL=y
CONFIG_LOCK_KERNEL=y
CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_LOCALVERSION=""
# CONFIG_LOCALVERSION_AUTO is not set
CONFIG_SWAP=y
CONFIG_SYSVIPC=y
CONFIG_SYSVIPC_SYSCTL=y
CONFIG_BSD_PROCESS_ACCT=y
# CONFIG_BSD_PROCESS_ACCT_V3 is not set
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
CONFIG_LOG_BUF_SHIFT=16
# CONFIG_CGROUPS is not set
CONFIG_GROUP_SCHED=y
CONFIG_FAIR_GROUP_SCHED=y
# CONFIG_RT_GROUP_SCHED is not set
CONFIG_USER_SCHED=y
# CONFIG_CGROUP_SCHED is not set
# CONFIG_SYSFS_DEPRECATED_V2 is not set
CONFIG_RELAY=y
# CONFIG_NAMESPACES is not set
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=""
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
CONFIG_SYSCTL=y
CONFIG_EMBEDDED=y
CONFIG_SYSCTL_SYSCALL=y
CONFIG_KALLSYMS=y
CONFIG_KALLSYMS_EXTRA_PASS=y
CONFIG_HOTPLUG=y
CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_ELF_CORE=y
CONFIG_COMPAT_BRK=y
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_ANON_INODES=y
CONFIG_EPOLL=y
CONFIG_SIGNALFD=y
CONFIG_TIMERFD=y
CONFIG_EVENTFD=y
CONFIG_SHMEM=y
# CONFIG_VM_EVENT_COUNTERS is not set
CONFIG_SLAB=y
# CONFIG_SLUB is not set
# CONFIG_SLOB is not set
# CONFIG_PROFILING is not set
# CONFIG_MARKERS is not set
CONFIG_HAVE_OPROFILE=y
CONFIG_HAVE_KPROBES=y
CONFIG_HAVE_KRETPROBES=y
# CONFIG_PROC_PAGE_MONITOR is not set
CONFIG_SLABINFO=y
CONFIG_RT_MUTEXES=y
# CONFIG_TINY_SHMEM is not set
CONFIG_BASE_SMALL=0
# CONFIG_MODULES is not set
CONFIG_BLOCK=y
CONFIG_BLK_DEV_IO_TRACE=y
# CONFIG_BLK_DEV_BSG is not set

#
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_AS=y
CONFIG_IOSCHED_DEADLINE=y
CONFIG_IOSCHED_CFQ=y
CONFIG_DEFAULT_AS=y
# CONFIG_DEFAULT_DEADLINE is not set
# CONFIG_DEFAULT_CFQ is not set
# CONFIG_DEFAULT_NOOP is not set
CONFIG_DEFAULT_IOSCHED="anticipatory"
CONFIG_CLASSIC_RCU=y

#
# Processor type and features
#
CONFIG_TICK_ONESHOT=y
# CONFIG_NO_HZ is not set
CONFIG_HIGH_RES_TIMERS=y
CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
CONFIG_SMP=y
CONFIG_X86_PC=y
# CONFIG_X86_ELAN is not set
# CONFIG_X86_VOYAGER is not set
# CONFIG_X86_NUMAQ is not set
# CONFIG_X86_SUMMIT is not set
# CONFIG_X86_BIGSMP is not set
# CONFIG_X86_VISWS is not set
# CONFIG_X86_GENERICARCH is not set
# CONFIG_X86_ES7000 is not set
# CONFIG_X86_RDC321X is not set
# CONFIG_X86_VSMP is not set
# CONFIG_PARAVIRT_GUEST is not set
# CONFIG_M386 is not set
# CONFIG_M486 is not set
# CONFIG_M586 is not set
# CONFIG_M586TSC is not set
# CONFIG_M586MMX is not set
# CONFIG_M686 is not set
# CONFIG_MPENTIUMII is not set
# CONFIG_MPENTIUMIII is not set
# CONFIG_MPENTIUMM is not set
# CONFIG_MPENTIUM4 is not set
# CONFIG_MK6 is not set
# CONFIG_MK7 is not set
CONFIG_MK8=y
# CONFIG_MCRUSOE is not set
# CONFIG_MEFFICEON is not set
# CONFIG_MWINCHIPC6 is not set
# CONFIG_MWINCHIP2 is not set
# CONFIG_MWINCHIP3D is not set
# CONFIG_MGEODEGX1 is not set
# CONFIG_MGEODE_LX is not set
# CONFIG_MCYRIXIII is not set
# CONFIG_MVIAC3_2 is not set
# CONFIG_MVIAC7 is not set
# CONFIG_MPSC is not set
# CONFIG_MCORE2 is not set
# CONFIG_GENERIC_CPU is not set
CONFIG_X86_L1_CACHE_BYTES=64
CONFIG_X86_INTERNODE_CACHE_BYTES=64
CONFIG_X86_CMPXCHG=y
CONFIG_X86_L1_CACHE_SHIFT=6
CONFIG_X86_GOOD_APIC=y
CONFIG_X86_INTEL_USERCOPY=y
CONFIG_X86_USE_PPRO_CHECKSUM=y
CONFIG_X86_TSC=y
CONFIG_X86_MINIMUM_CPU_FAMILY=64
CONFIG_X86_DEBUGCTLMSR=y
CONFIG_HPET_TIMER=y
CONFIG_HPET_EMULATE_RTC=y
CONFIG_GART_IOMMU=y
CONFIG_CALGARY_IOMMU=y
# CONFIG_CALGARY_IOMMU_ENABLED_BY_DEFAULT is not set
CONFIG_IOMMU_HELPER=y
CONFIG_SWIOTLB=y
CONFIG_NR_CPUS=8
CONFIG_SCHED_SMT=y
CONFIG_SCHED_MC=y
# CONFIG_PREEMPT_NONE is not set
# CONFIG_PREEMPT_VOLUNTARY is not set
CONFIG_PREEMPT=y
# CONFIG_PREEMPT_RCU is not set
CONFIG_X86_LOCAL_APIC=y
CONFIG_X86_IO_APIC=y
CONFIG_X86_MCE=y
CONFIG_X86_MCE_INTEL=y
CONFIG_X86_MCE_AMD=y
# CONFIG_I8K is not set
CONFIG_MICROCODE=y
CONFIG_MICROCODE_OLD_INTERFACE=y
CONFIG_X86_MSR=y
CONFIG_X86_CPUID=y
# CONFIG_NUMA is not set
CONFIG_ARCH_SPARSEMEM_DEFAULT=y
CONFIG_ARCH_SPARSEMEM_ENABLE=y
CONFIG_ARCH_SELECT_MEMORY_MODEL=y
CONFIG_SELECT_MEMORY_MODEL=y
# CONFIG_FLATMEM_MANUAL is not set
# CONFIG_DISCONTIGMEM_MANUAL is not set
CONFIG_SPARSEMEM_MANUAL=y
CONFIG_SPARSEMEM=y
CONFIG_HAVE_MEMORY_PRESENT=y
# CONFIG_SPARSEMEM_STATIC is not set
CONFIG_SPARSEMEM_EXTREME=y
CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
CONFIG_SPARSEMEM_VMEMMAP=y
# CONFIG_MEMORY_HOTPLUG is not set
CONFIG_SPLIT_PTLOCK_CPUS=4
CONFIG_RESOURCES_64BIT=y
CONFIG_ZONE_DMA_FLAG=1
CONFIG_BOUNCE=y
CONFIG_VIRT_TO_BUS=y
CONFIG_MTRR=y
# CONFIG_SECCOMP is not set
# CONFIG_HZ_100 is not set
# CONFIG_HZ_250 is not set
# CONFIG_HZ_300 is not set
CONFIG_HZ_1000=y
CONFIG_HZ=1000
CONFIG_SCHED_HRTICK=y
# CONFIG_KEXEC is not set
# CONFIG_CRASH_DUMP is not set
CONFIG_PHYSICAL_START=0x200000
# CONFIG_RELOCATABLE is not set
CONFIG_PHYSICAL_ALIGN=0x200000
# CONFIG_HOTPLUG_CPU is not set
CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y

#
# Power management options
#
# CONFIG_PM is not set

#
# CPU Frequency scaling
#
# CONFIG_CPU_FREQ is not set
# CONFIG_CPU_IDLE is not set

#
# Bus options (PCI etc.)
#
CONFIG_PCI=y
CONFIG_PCI_DIRECT=y
CONFIG_PCI_DOMAINS=y
# CONFIG_PCIEPORTBUS is not set
CONFIG_ARCH_SUPPORTS_MSI=y
# CONFIG_PCI_MSI is not set
CONFIG_PCI_LEGACY=y
CONFIG_HT_IRQ=y
CONFIG_ISA_DMA_API=y
CONFIG_K8_NB=y
# CONFIG_PCCARD is not set
# CONFIG_HOTPLUG_PCI is not set

#
# Executable file formats / Emulations
#
CONFIG_BINFMT_ELF=y
# CONFIG_BINFMT_MISC is not set
# CONFIG_IA32_EMULATION is not set
# CONFIG_COMPAT_FOR_U64_ALIGNMENT is not set

#
# Networking
#
# CONFIG_NET is not set

#
# Device Drivers
#

#
# Generic Driver Options
#
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
# CONFIG_STANDALONE is not set
# CONFIG_PREVENT_FIRMWARE_BUILD is not set
CONFIG_FW_LOADER=y
# CONFIG_SYS_HYPERVISOR is not set
# CONFIG_MTD is not set
# CONFIG_PARPORT is not set
CONFIG_BLK_DEV=y
CONFIG_BLK_DEV_FD=y
# CONFIG_BLK_CPQ_DA is not set
# CONFIG_BLK_CPQ_CISS_DA is not set
# CONFIG_BLK_DEV_DAC960 is not set
# CONFIG_BLK_DEV_UMEM is not set
# CONFIG_BLK_DEV_COW_COMMON is not set
CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_CRYPTOLOOP=y
# CONFIG_BLK_DEV_SX8 is not set
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_COUNT=16
CONFIG_BLK_DEV_RAM_SIZE=4096
CONFIG_BLK_DEV_XIP=y
CONFIG_CDROM_PKTCDVD=y
CONFIG_CDROM_PKTCDVD_BUFFERS=8
# CONFIG_CDROM_PKTCDVD_WCACHE is not set
# CONFIG_MISC_DEVICES is not set
CONFIG_HAVE_IDE=y
# CONFIG_IDE is not set

#
# SCSI device support
#
# CONFIG_RAID_ATTRS is not set
CONFIG_SCSI=y
CONFIG_SCSI_DMA=y
CONFIG_SCSI_TGT=y
# CONFIG_SCSI_NETLINK is not set
CONFIG_SCSI_PROC_FS=y

#
# SCSI support type (disk, tape, CD-ROM)
#
CONFIG_BLK_DEV_SD=y
CONFIG_CHR_DEV_ST=y
CONFIG_CHR_DEV_OSST=y
CONFIG_BLK_DEV_SR=y
CONFIG_BLK_DEV_SR_VENDOR=y
CONFIG_CHR_DEV_SG=y
# CONFIG_CHR_DEV_SCH is not set

#
# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
#
CONFIG_SCSI_MULTI_LUN=y
# CONFIG_SCSI_CONSTANTS is not set
# CONFIG_SCSI_LOGGING is not set
# CONFIG_SCSI_SCAN_ASYNC is not set

#
# SCSI Transports
#
CONFIG_SCSI_SPI_ATTRS=y
# CONFIG_SCSI_FC_ATTRS is not set
CONFIG_SCSI_SAS_ATTRS=y
CONFIG_SCSI_SAS_LIBSAS=y
CONFIG_SCSI_SAS_HOST_SMP=y
# CONFIG_SCSI_SAS_LIBSAS_DEBUG is not set
# CONFIG_SCSI_SRP_ATTRS is not set
CONFIG_SCSI_LOWLEVEL=y
# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
# CONFIG_SCSI_3W_9XXX is not set
# CONFIG_SCSI_ACARD is not set
# CONFIG_SCSI_AACRAID is not set
CONFIG_SCSI_AIC7XXX=y
CONFIG_AIC7XXX_CMDS_PER_DEVICE=8
CONFIG_AIC7XXX_RESET_DELAY_MS=15000
CONFIG_AIC7XXX_BUILD_FIRMWARE=y
CONFIG_AIC7XXX_DEBUG_ENABLE=y
CONFIG_AIC7XXX_DEBUG_MASK=0
CONFIG_AIC7XXX_REG_PRETTY_PRINT=y
# CONFIG_SCSI_AIC7XXX_OLD is not set
CONFIG_SCSI_AIC79XX=y
CONFIG_AIC79XX_CMDS_PER_DEVICE=8
CONFIG_AIC79XX_RESET_DELAY_MS=15000
CONFIG_AIC79XX_BUILD_FIRMWARE=y
CONFIG_AIC79XX_DEBUG_ENABLE=y
CONFIG_AIC79XX_DEBUG_MASK=0
CONFIG_AIC79XX_REG_PRETTY_PRINT=y
CONFIG_SCSI_AIC94XX=y
CONFIG_AIC94XX_DEBUG=y
# CONFIG_SCSI_ADVANSYS is not set
# CONFIG_SCSI_ARCMSR is not set
# CONFIG_MEGARAID_NEWGEN is not set
# CONFIG_MEGARAID_LEGACY is not set
# CONFIG_MEGARAID_SAS is not set
# CONFIG_SCSI_HPTIOP is not set
# CONFIG_SCSI_BUSLOGIC is not set
# CONFIG_SCSI_DMX3191D is not set
# CONFIG_SCSI_EATA is not set
# CONFIG_SCSI_FUTURE_DOMAIN is not set
# CONFIG_SCSI_GDTH is not set
# CONFIG_SCSI_IPS is not set
# CONFIG_SCSI_INITIO is not set
# CONFIG_SCSI_INIA100 is not set
# CONFIG_SCSI_MVSAS is not set
# CONFIG_SCSI_STEX is not set
# CONFIG_SCSI_SYM53C8XX_2 is not set
# CONFIG_SCSI_QLOGIC_1280 is not set
# CONFIG_SCSI_QLA_FC is not set
# CONFIG_SCSI_LPFC is not set
# CONFIG_SCSI_DC395x is not set
# CONFIG_SCSI_DC390T is not set
# CONFIG_SCSI_DEBUG is not set
# CONFIG_SCSI_SRP is not set
# CONFIG_ATA is not set
# CONFIG_MD is not set
# CONFIG_FUSION is not set

#
# IEEE 1394 (FireWire) support
#
# CONFIG_FIREWIRE is not set
# CONFIG_IEEE1394 is not set
# CONFIG_I2O is not set
# CONFIG_MACINTOSH_DRIVERS is not set
# CONFIG_PHONE is not set

#
# Input device support
#
CONFIG_INPUT=y
# CONFIG_INPUT_FF_MEMLESS is not set
CONFIG_INPUT_POLLDEV=y

#
# Userland interfaces
#
CONFIG_INPUT_MOUSEDEV=y
CONFIG_INPUT_MOUSEDEV_PSAUX=y
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
# CONFIG_INPUT_JOYDEV is not set
CONFIG_INPUT_EVDEV=y
# CONFIG_INPUT_EVBUG is not set

#
# Input Device Drivers
#
CONFIG_INPUT_KEYBOARD=y
CONFIG_KEYBOARD_ATKBD=y
# CONFIG_KEYBOARD_SUNKBD is not set
# CONFIG_KEYBOARD_LKKBD is not set
# CONFIG_KEYBOARD_XTKBD is not set
# CONFIG_KEYBOARD_NEWTON is not set
# CONFIG_KEYBOARD_STOWAWAY is not set
CONFIG_INPUT_MOUSE=y
CONFIG_MOUSE_PS2=y
CONFIG_MOUSE_PS2_ALPS=y
CONFIG_MOUSE_PS2_LOGIPS2PP=y
CONFIG_MOUSE_PS2_SYNAPTICS=y
CONFIG_MOUSE_PS2_LIFEBOOK=y
CONFIG_MOUSE_PS2_TRACKPOINT=y
CONFIG_MOUSE_PS2_TOUCHKIT=y
CONFIG_MOUSE_SERIAL=y
# CONFIG_MOUSE_VSXXXAA is not set
# CONFIG_INPUT_JOYSTICK is not set
# CONFIG_INPUT_TABLET is not set
# CONFIG_INPUT_TOUCHSCREEN is not set
# CONFIG_INPUT_MISC is not set

#
# Hardware I/O ports
#
CONFIG_SERIO=y
CONFIG_SERIO_I8042=y
CONFIG_SERIO_SERPORT=y
# CONFIG_SERIO_CT82C710 is not set
CONFIG_SERIO_PCIPS2=y
CONFIG_SERIO_LIBPS2=y
# CONFIG_SERIO_RAW is not set
CONFIG_GAMEPORT=y
CONFIG_GAMEPORT_NS558=y
# CONFIG_GAMEPORT_L4 is not set
# CONFIG_GAMEPORT_EMU10K1 is not set
# CONFIG_GAMEPORT_FM801 is not set

#
# Character devices
#
CONFIG_VT=y
CONFIG_VT_CONSOLE=y
CONFIG_HW_CONSOLE=y
# CONFIG_VT_HW_CONSOLE_BINDING is not set
# CONFIG_SERIAL_NONSTANDARD is not set
# CONFIG_NOZOMI is not set

#
# Serial drivers
#
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_FIX_EARLYCON_MEM=y
CONFIG_SERIAL_8250_PCI=y
CONFIG_SERIAL_8250_NR_UARTS=4
CONFIG_SERIAL_8250_RUNTIME_UARTS=4
CONFIG_SERIAL_8250_EXTENDED=y
CONFIG_SERIAL_8250_MANY_PORTS=y
CONFIG_SERIAL_8250_SHARE_IRQ=y
CONFIG_SERIAL_8250_DETECT_IRQ=y
# CONFIG_SERIAL_8250_RSA is not set

#
# Non-8250 serial port support
#
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
# CONFIG_SERIAL_JSM is not set
CONFIG_UNIX98_PTYS=y
# CONFIG_LEGACY_PTYS is not set
# CONFIG_IPMI_HANDLER is not set
# CONFIG_HW_RANDOM is not set
CONFIG_NVRAM=y
CONFIG_RTC=y
# CONFIG_R3964 is not set
# CONFIG_APPLICOM is not set
# CONFIG_MWAVE is not set
# CONFIG_PC8736x_GPIO is not set
CONFIG_RAW_DRIVER=y
CONFIG_MAX_RAW_DEVS=256
# CONFIG_HANGCHECK_TIMER is not set
# CONFIG_TCG_TPM is not set
# CONFIG_TELCLOCK is not set
CONFIG_DEVPORT=y
# CONFIG_I2C is not set

#
# SPI support
#
# CONFIG_SPI is not set
# CONFIG_SPI_MASTER is not set
# CONFIG_W1 is not set
CONFIG_POWER_SUPPLY=y
# CONFIG_POWER_SUPPLY_DEBUG is not set
# CONFIG_PDA_POWER is not set
# CONFIG_BATTERY_DS2760 is not set
CONFIG_HWMON=y
# CONFIG_HWMON_VID is not set
# CONFIG_SENSORS_ABITUGURU is not set
# CONFIG_SENSORS_ABITUGURU3 is not set
# CONFIG_SENSORS_K8TEMP is not set
# CONFIG_SENSORS_I5K_AMB is not set
# CONFIG_SENSORS_F71805F is not set
# CONFIG_SENSORS_F71882FG is not set
# CONFIG_SENSORS_CORETEMP is not set
# CONFIG_SENSORS_IT87 is not set
# CONFIG_SENSORS_PC87360 is not set
# CONFIG_SENSORS_PC87427 is not set
# CONFIG_SENSORS_SIS5595 is not set
# CONFIG_SENSORS_SMSC47M1 is not set
# CONFIG_SENSORS_SMSC47B397 is not set
# CONFIG_SENSORS_VIA686A is not set
# CONFIG_SENSORS_VT1211 is not set
# CONFIG_SENSORS_VT8231 is not set
# CONFIG_SENSORS_W83627HF is not set
# CONFIG_SENSORS_W83627EHF is not set
# CONFIG_SENSORS_HDAPS is not set
# CONFIG_SENSORS_APPLESMC is not set
# CONFIG_HWMON_DEBUG_CHIP is not set
CONFIG_THERMAL=y
# CONFIG_WATCHDOG is not set

#
# Sonics Silicon Backplane
#
CONFIG_SSB_POSSIBLE=y
# CONFIG_SSB is not set

#
# Multifunction device drivers
#
# CONFIG_MFD_SM501 is not set

#
# Multimedia devices
#
# CONFIG_VIDEO_DEV is not set
# CONFIG_DAB is not set

#
# Graphics support
#
CONFIG_AGP=y
CONFIG_AGP_AMD64=y
CONFIG_AGP_INTEL=y
# CONFIG_AGP_SIS is not set
CONFIG_AGP_VIA=y
# CONFIG_DRM is not set
# CONFIG_VGASTATE is not set
# CONFIG_VIDEO_OUTPUT_CONTROL is not set
# CONFIG_FB is not set
# CONFIG_BACKLIGHT_LCD_SUPPORT is not set

#
# Display device support
#
# CONFIG_DISPLAY_SUPPORT is not set

#
# Console display driver support
#
CONFIG_VGA_CONSOLE=y
CONFIG_VGACON_SOFT_SCROLLBACK=y
CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64
CONFIG_VIDEO_SELECT=y
CONFIG_DUMMY_CONSOLE=y

#
# Sound
#
# CONFIG_SOUND is not set
# CONFIG_HID_SUPPORT is not set
# CONFIG_USB_SUPPORT is not set
# CONFIG_MMC is not set
# CONFIG_MEMSTICK is not set
# CONFIG_NEW_LEDS is not set
# CONFIG_INFINIBAND is not set
# CONFIG_EDAC is not set
# CONFIG_RTC_CLASS is not set
# CONFIG_DMADEVICES is not set

#
# Userspace I/O
#
# CONFIG_UIO is not set

#
# Firmware Drivers
#
# CONFIG_EDD is not set
# CONFIG_DELL_RBU is not set
# CONFIG_DCDBAS is not set
# CONFIG_DMIID is not set

#
# File systems
#
# CONFIG_EXT2_FS is not set
# CONFIG_EXT3_FS is not set
# CONFIG_EXT4DEV_FS is not set
# CONFIG_REISERFS_FS is not set
# CONFIG_JFS_FS is not set
CONFIG_FS_POSIX_ACL=y
# CONFIG_XFS_FS is not set
# CONFIG_GFS2_FS is not set
# CONFIG_DNOTIFY is not set
# CONFIG_INOTIFY is not set
# CONFIG_QUOTA is not set
# CONFIG_AUTOFS_FS is not set
# CONFIG_AUTOFS4_FS is not set
# CONFIG_FUSE_FS is not set
CONFIG_GENERIC_ACL=y

#
# CD-ROM/DVD Filesystems
#
# CONFIG_ISO9660_FS is not set
# CONFIG_UDF_FS is not set

#
# DOS/FAT/NT Filesystems
#
# CONFIG_MSDOS_FS is not set
# CONFIG_VFAT_FS is not set
# CONFIG_NTFS_FS is not set

#
# Pseudo filesystems
#
CONFIG_PROC_FS=y
CONFIG_PROC_KCORE=y
CONFIG_PROC_SYSCTL=y
CONFIG_SYSFS=y
CONFIG_TMPFS=y
CONFIG_TMPFS_POSIX_ACL=y
CONFIG_HUGETLBFS=y
CONFIG_HUGETLB_PAGE=y
CONFIG_CONFIGFS_FS=y

#
# Miscellaneous filesystems
#
# CONFIG_ADFS_FS is not set
# CONFIG_AFFS_FS is not set
# CONFIG_HFS_FS is not set
# CONFIG_HFSPLUS_FS is not set
# CONFIG_BEFS_FS is not set
# CONFIG_BFS_FS is not set
# CONFIG_EFS_FS is not set
# CONFIG_CRAMFS is not set
# CONFIG_VXFS_FS is not set
# CONFIG_MINIX_FS is not set
# CONFIG_HPFS_FS is not set
# CONFIG_QNX4FS_FS is not set
# CONFIG_ROMFS_FS is not set
# CONFIG_SYSV_FS is not set
# CONFIG_UFS_FS is not set

#
# Partition Types
#
# CONFIG_PARTITION_ADVANCED is not set
CONFIG_MSDOS_PARTITION=y
CONFIG_NLS=y
CONFIG_NLS_DEFAULT="iso8859-1"
# CONFIG_NLS_CODEPAGE_437 is not set
# CONFIG_NLS_CODEPAGE_737 is not set
# CONFIG_NLS_CODEPAGE_775 is not set
# CONFIG_NLS_CODEPAGE_850 is not set
# CONFIG_NLS_CODEPAGE_852 is not set
# CONFIG_NLS_CODEPAGE_855 is not set
# CONFIG_NLS_CODEPAGE_857 is not set
# CONFIG_NLS_CODEPAGE_860 is not set
# CONFIG_NLS_CODEPAGE_861 is not set
# CONFIG_NLS_CODEPAGE_862 is not set
# CONFIG_NLS_CODEPAGE_863 is not set
# CONFIG_NLS_CODEPAGE_864 is not set
# CONFIG_NLS_CODEPAGE_865 is not set
# CONFIG_NLS_CODEPAGE_866 is not set
# CONFIG_NLS_CODEPAGE_869 is not set
# CONFIG_NLS_CODEPAGE_936 is not set
# CONFIG_NLS_CODEPAGE_950 is not set
# CONFIG_NLS_CODEPAGE_932 is not set
# CONFIG_NLS_CODEPAGE_949 is not set
# CONFIG_NLS_CODEPAGE_874 is not set
# CONFIG_NLS_ISO8859_8 is not set
# CONFIG_NLS_CODEPAGE_1250 is not set
# CONFIG_NLS_CODEPAGE_1251 is not set
# CONFIG_NLS_ASCII is not set
# CONFIG_NLS_ISO8859_1 is not set
# CONFIG_NLS_ISO8859_2 is not set
# CONFIG_NLS_ISO8859_3 is not set
# CONFIG_NLS_ISO8859_4 is not set
# CONFIG_NLS_ISO8859_5 is not set
# CONFIG_NLS_ISO8859_6 is not set
# CONFIG_NLS_ISO8859_7 is not set
# CONFIG_NLS_ISO8859_9 is not set
# CONFIG_NLS_ISO8859_13 is not set
# CONFIG_NLS_ISO8859_14 is not set
# CONFIG_NLS_ISO8859_15 is not set
# CONFIG_NLS_KOI8_R is not set
# CONFIG_NLS_KOI8_U is not set
# CONFIG_NLS_UTF8 is not set

#
# Kernel hacking
#
CONFIG_TRACE_IRQFLAGS_SUPPORT=y
# CONFIG_PRINTK_TIME is not set
# CONFIG_ENABLE_WARN_DEPRECATED is not set
# CONFIG_ENABLE_MUST_CHECK is not set
# CONFIG_MAGIC_SYSRQ is not set
# CONFIG_UNUSED_SYMBOLS is not set
CONFIG_DEBUG_FS=y
# CONFIG_HEADERS_CHECK is not set
# CONFIG_DEBUG_KERNEL is not set
# CONFIG_DEBUG_BUGVERBOSE is not set
# CONFIG_LATENCYTOP is not set
# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
# CONFIG_SAMPLES is not set
# CONFIG_EARLY_PRINTK is not set
CONFIG_X86_MPPARSE=y
CONFIG_IO_DELAY_TYPE_0X80=0
CONFIG_IO_DELAY_TYPE_0XED=1
CONFIG_IO_DELAY_TYPE_UDELAY=2
CONFIG_IO_DELAY_TYPE_NONE=3
CONFIG_IO_DELAY_0X80=y
# CONFIG_IO_DELAY_0XED is not set
# CONFIG_IO_DELAY_UDELAY is not set
# CONFIG_IO_DELAY_NONE is not set
CONFIG_DEFAULT_IO_DELAY_TYPE=0

#
# Security options
#
# CONFIG_KEYS is not set
# CONFIG_SECURITY is not set
# CONFIG_SECURITY_FILE_CAPABILITIES is not set
CONFIG_CRYPTO=y
CONFIG_CRYPTO_ALGAPI=y
CONFIG_CRYPTO_BLKCIPHER=y
# CONFIG_CRYPTO_SEQIV is not set
CONFIG_CRYPTO_MANAGER=y
# CONFIG_CRYPTO_HMAC is not set
# CONFIG_CRYPTO_XCBC is not set
# CONFIG_CRYPTO_NULL is not set
# CONFIG_CRYPTO_MD4 is not set
# CONFIG_CRYPTO_MD5 is not set
# CONFIG_CRYPTO_SHA1 is not set
# CONFIG_CRYPTO_SHA256 is not set
# CONFIG_CRYPTO_SHA512 is not set
# CONFIG_CRYPTO_WP512 is not set
# CONFIG_CRYPTO_TGR192 is not set
# CONFIG_CRYPTO_GF128MUL is not set
# CONFIG_CRYPTO_ECB is not set
CONFIG_CRYPTO_CBC=y
# CONFIG_CRYPTO_PCBC is not set
# CONFIG_CRYPTO_LRW is not set
# CONFIG_CRYPTO_XTS is not set
# CONFIG_CRYPTO_CTR is not set
# CONFIG_CRYPTO_GCM is not set
# CONFIG_CRYPTO_CCM is not set
# CONFIG_CRYPTO_CRYPTD is not set
# CONFIG_CRYPTO_DES is not set
# CONFIG_CRYPTO_FCRYPT is not set
# CONFIG_CRYPTO_BLOWFISH is not set
# CONFIG_CRYPTO_TWOFISH is not set
# CONFIG_CRYPTO_TWOFISH_X86_64 is not set
# CONFIG_CRYPTO_SERPENT is not set
# CONFIG_CRYPTO_AES is not set
# CONFIG_CRYPTO_AES_X86_64 is not set
# CONFIG_CRYPTO_CAST5 is not set
# CONFIG_CRYPTO_CAST6 is not set
# CONFIG_CRYPTO_TEA is not set
# CONFIG_CRYPTO_ARC4 is not set
# CONFIG_CRYPTO_KHAZAD is not set
# CONFIG_CRYPTO_ANUBIS is not set
# CONFIG_CRYPTO_SEED is not set
# CONFIG_CRYPTO_SALSA20 is not set
# CONFIG_CRYPTO_SALSA20_X86_64 is not set
# CONFIG_CRYPTO_DEFLATE is not set
# CONFIG_CRYPTO_MICHAEL_MIC is not set
# CONFIG_CRYPTO_CRC32C is not set
# CONFIG_CRYPTO_CAMELLIA is not set
# CONFIG_CRYPTO_AUTHENC is not set
# CONFIG_CRYPTO_LZO is not set
# CONFIG_CRYPTO_HW is not set
CONFIG_HAVE_KVM=y
# CONFIG_VIRTUALIZATION is not set

#
# Library routines
#
CONFIG_BITREVERSE=y
CONFIG_CRC_CCITT=y
CONFIG_CRC16=y
CONFIG_CRC_ITU_T=y
CONFIG_CRC32=y
# CONFIG_CRC7 is not set
CONFIG_LIBCRC32C=y
CONFIG_PLIST=y
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT=y
CONFIG_HAS_DMA=y

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [PATCH 2/3] debloat aic7xxx and aic79xx drivers
  2008-04-15 20:10                     ` Denys Vlasenko
@ 2008-04-21  5:10                       ` Denys Vlasenko
  0 siblings, 0 replies; 24+ messages in thread
From: Denys Vlasenko @ 2008-04-21  5:10 UTC (permalink / raw)
  To: Hannes Reinecke; +Cc: linux-scsi, Andrew Morton

Hi Hannes,

Apologies for being so nasty, but I am pinging you again.

Which tree and with which .config file is known to correctly
rebuild aic7xxx firmware?

On Tuesday 15 April 2008 22:10, Denys Vlasenko wrote:
> I'm afraid I will continue to bug you - it does not work. :(.
> 
> I applied your patch and I still couldn't get it to compile.
> I thought that it may be caused by me using not the latest scsi-misc-2.6
> git tree, so I downloaded the tree and retried. Alas, same result.
> 
> I followed your instructions:
> 
> > Anyway, you'll have to enable the firmware build for aic7xxx / aic79xx
> > and do a diff between the files used for compiling and the *_shipped
> > files.
> > Then fixup the assembler in aicasm/* to print out the files in the way
> > you'd like it.
> > Once you're done you copy the generated files over to the *_shipped
> > files and send the diff.
> 
> See attached .config file with firmware build options enabled.
> 
> Since I want *_shipped files regenerated, they, obviously, should not
> take part in the build, so I renamed tham all to *_shipped-OFF,
> intending later to rediff them against newly-generated files.
> 
> Then I ran "make bzImage" (64-bit x86) and got this error:
> 
> ...
>   LD      drivers/power/built-in.o
>   CC      drivers/scsi/scsi.o
>   CC      drivers/scsi/hosts.o
>   CC      drivers/scsi/scsi_ioctl.o
>   CC      drivers/scsi/constants.o
>   CC      drivers/scsi/scsicam.o
>   CC      drivers/scsi/scsi_error.o
>   CC      drivers/scsi/scsi_lib.o
>   CC      drivers/scsi/scsi_lib_dma.o
>   CC      drivers/scsi/scsi_scan.o
>   CC      drivers/scsi/scsi_sysfs.o
>   CC      drivers/scsi/scsi_devinfo.o
>   CC      drivers/scsi/scsi_sysctl.o
>   CC      drivers/scsi/scsi_proc.o
>   CC      drivers/scsi/scsi_tgt_lib.o
>   CC      drivers/scsi/scsi_tgt_if.o
>   CC      drivers/scsi/sd.o
>   CC      drivers/scsi/sr.o
>   CC      drivers/scsi/sr_ioctl.o
>   CC      drivers/scsi/sr_vendor.o
>   LD      drivers/scsi/scsi_mod.o
>   LD      drivers/scsi/scsi_tgt.o
>   CC      drivers/scsi/scsi_transport_spi.o
>   CC      drivers/scsi/scsi_transport_sas.o
> drivers/scsi/aic7xxx/aicasm/aicasm -Idrivers/scsi/aic7xxx -r drivers/scsi/aic7xxx/aic79xx_reg.h \
>                       -p drivers/scsi/aic7xxx/aic79xx_reg_print.c -i aic79xx_osm.h -o drivers/scsi/aic7xxx/aic79xx_seq.h \
>                       drivers/scsi/aic7xxx/aic79xx.seq
> drivers/scsi/aic7xxx/aicasm/aicasm: Stopped at file drivers/scsi/aic7xxx/aic79xx.seq, line 263 - Invalid bit(s) 0xffffff00 in immediate wr
> itten to ACCUM
> drivers/scsi/aic7xxx/aicasm/aicasm: Removing drivers/scsi/aic7xxx/aic79xx_seq.h due to error
> drivers/scsi/aic7xxx/aicasm/aicasm: Removing drivers/scsi/aic7xxx/aic79xx_reg.h due to error
> make[3]: *** [drivers/scsi/aic7xxx/aic79xx_seq.h] Error 65
> make[2]: *** [drivers/scsi/aic7xxx] Error 2
> make[1]: *** [drivers/scsi] Error 2
> make: *** [drivers] Error 2
> 
> This was on today's unmodified scsi-misc-2.6 git tree.
> 
> Please help.
> --
> vda

^ permalink raw reply	[flat|nested] 24+ messages in thread

end of thread, other threads:[~2008-04-21  5:10 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-03-23  3:40 [PATCH 0/3] debloat aic7xxx and aic79xx drivers Denys Vlasenko
2008-03-23  3:41 ` [PATCH 1/3] " Denys Vlasenko
2008-03-23  3:42   ` [PATCH 2/3] " Denys Vlasenko
2008-03-23  3:42     ` [PATCH 3/3] " Denys Vlasenko
2008-04-07 10:36       ` Hannes Reinecke
2008-04-07 10:34     ` [PATCH 2/3] " Hannes Reinecke
2008-04-07 18:00       ` Denys Vlasenko
2008-04-08 12:23         ` Hannes Reinecke
2008-04-08 14:08           ` Denys Vlasenko
2008-04-08 14:54             ` Hannes Reinecke
2008-04-08 15:08               ` Denys Vlasenko
2008-04-14 18:47                 ` Denys Vlasenko
     [not found]                   ` <4804BE68.4000704@suse.de>
2008-04-15 20:10                     ` Denys Vlasenko
2008-04-21  5:10                       ` Denys Vlasenko
2008-04-14 18:46             ` Denys Vlasenko
2008-04-15 14:44               ` Hannes Reinecke
2008-04-07 10:31   ` [PATCH 1/3] " Hannes Reinecke
2008-04-07 18:01     ` Denys Vlasenko
  -- strict thread matches above, loose matches on Subject: below --
2007-10-14 14:58 [PATCH 0/3] " Denys Vlasenko
2007-10-14 15:00 ` [PATCH 1/3] " Denys Vlasenko
2007-10-14 15:01   ` [PATCH 2/3] " Denys Vlasenko
2007-10-14 15:02     ` [PATCH 3/3] " Denys Vlasenko
2007-11-01 22:16       ` Matthew Wilcox
2007-11-01 22:23         ` Randy Dunlap
2007-11-01 23:00           ` Matthew Wilcox
2007-08-31 15:13 [PATCH 0/3] " Denys Vlasenko
2007-08-31 15:15 ` [PATCH 1/3] " Denys Vlasenko
2007-08-31 15:16   ` [PATCH 2/3] " Denys Vlasenko
2007-08-31 15:17     ` [PATCH 3/3] " Denys Vlasenko
2007-09-24 10:24       ` Hannes Reinecke

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).