)]}'
{
  "commit": "a1efdaba2dbd6fb89e23a87b66d3f4dd92c9f5af",
  "tree": "6197c537892e0d887b2a90e369b74abf0500b9ac",
  "parents": [
    "959471936241bd83da7d0a76411cef6772140fe6"
  ],
  "author": {
    "name": "Tejun Heo",
    "email": "htejun@gmail.com",
    "time": "Tue Mar 25 12:22:50 2008 +0900"
  },
  "committer": {
    "name": "Jeff Garzik",
    "email": "jgarzik@redhat.com",
    "time": "Thu Apr 17 15:44:18 2008 -0400"
  },
  "message": "libata: make reset related methods proper port operations\n\nCurrently reset methods are not specified directly in the\nata_port_operations table.  If a LLD wants to use custom reset\nmethods, it should construct and use a error_handler which uses those\nreset methods.  It\u0027s done this way for two reasons.\n\nFirst, the ops table already contained too many methods and adding\nfour more of them would noticeably increase the amount of necessary\nboilerplate code all over low level drivers.\n\nSecond, as -\u003eerror_handler uses those reset methods, it can get\nconfusing.  ie. By overriding -\u003eerror_handler, those reset ops can be\nmade useless making layering a bit hazy.\n\nNow that ops table uses inheritance, the first problem doesn\u0027t exist\nanymore.  The second isn\u0027t completely solved but is relieved by\nproviding default values - most drivers can just override what it has\nimplemented and don\u0027t have to concern itself about higher level\ncallbacks.  In fact, there currently is no driver which actually\nmodifies error handling behavior.  Drivers which override\n-\u003eerror_handler just wraps the standard error handler only to prepare\nthe controller for EH.  I don\u0027t think making ops layering strict has\nany noticeable benefit.\n\nThis patch makes -\u003eprereset, -\u003esoftreset, -\u003ehardreset, -\u003epostreset and\ntheir PMP counterparts propoer ops.  Default ops are provided in the\nbase ops tables and drivers are converted to override individual reset\nmethods instead of creating custom error_handler.\n\n* ata_std_error_handler() doesn\u0027t use sata_std_hardreset() if SCRs\n  aren\u0027t accessible.  sata_promise doesn\u0027t need to use separate\n  error_handlers for PATA and SATA anymore.\n\n* softreset is broken for sata_inic162x and sata_sx4.  As libata now\n  always prefers hardreset, this doesn\u0027t really matter but the ops are\n  forced to NULL using ATA_OP_NULL for documentation purpose.\n\n* pata_hpt374 needs to use different prereset for the first and second\n  PCI functions.  This used to be done by branching from\n  hpt374_error_handler().  The proper way to do this is to use\n  separate ops and port_info tables for each function.  Converted.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "dacb3ef0c3e61b0a2e3bbade235ffa64f34c3f88",
      "old_mode": 33188,
      "old_path": "drivers/ata/ahci.c",
      "new_id": "3efa9904f7a003ced3f7e3444cc27717c28710d4",
      "new_mode": 33188,
      "new_path": "drivers/ata/ahci.c"
    },
    {
      "type": "modify",
      "old_id": "bb46b61a7c6b329a47be3274114f4ad65a6a808e",
      "old_mode": 33188,
      "old_path": "drivers/ata/ata_piix.c",
      "new_id": "eafb984313f62efbaa5d36f990f60ba2f2111c6d",
      "new_mode": 33188,
      "new_path": "drivers/ata/ata_piix.c"
    },
    {
      "type": "modify",
      "old_id": "aa6bcd79d60ab8d8872c08563ae4d055b03f4869",
      "old_mode": 33188,
      "old_path": "drivers/ata/libata-core.c",
      "new_id": "345f4a6865a881bb88c4da40797c9c478f12fec0",
      "new_mode": 33188,
      "new_path": "drivers/ata/libata-core.c"
    },
    {
      "type": "modify",
      "old_id": "0d0a2c0ab9e7b23864f09b729f9be963f0b3d89d",
      "old_mode": 33188,
      "old_path": "drivers/ata/libata-eh.c",
      "new_id": "ec32082356cb073c457f7c41572187ee528657c3",
      "new_mode": 33188,
      "new_path": "drivers/ata/libata-eh.c"
    },
    {
      "type": "modify",
      "old_id": "39e036c8a2bc5c25285ca21a4c96e73534278c71",
      "old_mode": 33188,
      "old_path": "drivers/ata/libata-pmp.c",
      "new_id": "a7cb1498c9b22a65bbd5c0996e15f34aa9a3c01a",
      "new_mode": 33188,
      "new_path": "drivers/ata/libata-pmp.c"
    },
    {
      "type": "modify",
      "old_id": "6223ec042c801c43828bbf2809b2d26d04e3a301",
      "old_mode": 33188,
      "old_path": "drivers/ata/libata-sff.c",
      "new_id": "2a229a1d3211e181a055855813bdf0c75079bd90",
      "new_mode": 33188,
      "new_path": "drivers/ata/libata-sff.c"
    },
    {
      "type": "modify",
      "old_id": "ebd15cadf15f80814bbfc5b26f373a58e17d7b9f",
      "old_mode": 33188,
      "old_path": "drivers/ata/pata_artop.c",
      "new_id": "b6d8c4d0e6c23232c191bee5bd3bd35251112fdb",
      "new_mode": 33188,
      "new_path": "drivers/ata/pata_artop.c"
    },
    {
      "type": "modify",
      "old_id": "0bea7e75d2d6ed4cd0e7f293a4a1e67f854350d0",
      "old_mode": 33188,
      "old_path": "drivers/ata/pata_atiixp.c",
      "new_id": "56a65baddd4ad6ac6bfa4a89b09d7de0ecf7e9f6",
      "new_mode": 33188,
      "new_path": "drivers/ata/pata_atiixp.c"
    },
    {
      "type": "modify",
      "old_id": "7a22ef48306120eac0c02e5151c2dd898cf06e7d",
      "old_mode": 33188,
      "old_path": "drivers/ata/pata_bf54x.c",
      "new_id": "eea275acb2a8a50c36160af9630be3a9476ca89e",
      "new_mode": 33188,
      "new_path": "drivers/ata/pata_bf54x.c"
    },
    {
      "type": "modify",
      "old_id": "2f5b4848456a608c6736b542af2c3dc6a917b653",
      "old_mode": 33188,
      "old_path": "drivers/ata/pata_efar.c",
      "new_id": "1d839a57068eff3e8433143355b77174382c80c8",
      "new_mode": 33188,
      "new_path": "drivers/ata/pata_efar.c"
    },
    {
      "type": "modify",
      "old_id": "fb37e3a161fc32419fcef647ea6140d920dbe856",
      "old_mode": 33188,
      "old_path": "drivers/ata/pata_hpt37x.c",
      "new_id": "c10fcd31418d091fcfe8d36de2393dfbd9b16097",
      "new_mode": 33188,
      "new_path": "drivers/ata/pata_hpt37x.c"
    },
    {
      "type": "modify",
      "old_id": "c774be93ae048da28332ae6db0358510b6b28759",
      "old_mode": 33188,
      "old_path": "drivers/ata/pata_hpt3x2n.c",
      "new_id": "cd44ee3d3cc1911c31797aa4abb25f378b58a874",
      "new_mode": 33188,
      "new_path": "drivers/ata/pata_hpt3x2n.c"
    },
    {
      "type": "modify",
      "old_id": "ff16b0eaa2c27b6614b44803bb5949cdf566e2ac",
      "old_mode": 33188,
      "old_path": "drivers/ata/pata_icside.c",
      "new_id": "13d43e9dd279c96f850caceea08f0cfa645cceaf",
      "new_mode": 33188,
      "new_path": "drivers/ata/pata_icside.c"
    },
    {
      "type": "modify",
      "old_id": "d23a46b75028d52034a3c4b4cc6698e48f3fd26f",
      "old_mode": 33188,
      "old_path": "drivers/ata/pata_it8213.c",
      "new_id": "84ab89e8a24744a79a46504deeb1bf7058ae10cc",
      "new_mode": 33188,
      "new_path": "drivers/ata/pata_it8213.c"
    },
    {
      "type": "modify",
      "old_id": "ac7c0822b1a78fbef7c835624e782205f1908b66",
      "old_mode": 33188,
      "old_path": "drivers/ata/pata_mpc52xx.c",
      "new_id": "fec93196710e15245e5e93d6900058803bb8048e",
      "new_mode": 33188,
      "new_path": "drivers/ata/pata_mpc52xx.c"
    },
    {
      "type": "modify",
      "old_id": "dab54f8a272d6502d056575f6e4d02106a79aca5",
      "old_mode": 33188,
      "old_path": "drivers/ata/pata_mpiix.c",
      "new_id": "1b9d0d412ebf6b1a49cd35d85b80c50e31d4d759",
      "new_mode": 33188,
      "new_path": "drivers/ata/pata_mpiix.c"
    },
    {
      "type": "modify",
      "old_id": "5a043e42648078c3ae70139eb3af1229eae15a2f",
      "old_mode": 33188,
      "old_path": "drivers/ata/pata_ns87410.c",
      "new_id": "4d2eefee73871bbf26c74f3cce83e63c1de61cc5",
      "new_mode": 33188,
      "new_path": "drivers/ata/pata_ns87410.c"
    },
    {
      "type": "modify",
      "old_id": "7001b756819ee4d41b982b2ad191b4961df6ecbd",
      "old_mode": 33188,
      "old_path": "drivers/ata/pata_oldpiix.c",
      "new_id": "c1da79a7643943ce5d85349381c13eb198e9de83",
      "new_mode": 33188,
      "new_path": "drivers/ata/pata_oldpiix.c"
    },
    {
      "type": "modify",
      "old_id": "5a5f20e03fc026a2e1c2684ecac399d5f90300a9",
      "old_mode": 33188,
      "old_path": "drivers/ata/pata_opti.c",
      "new_id": "4ddd03a6777553bbdb8ec03c2f453e1206a3c36d",
      "new_mode": 33188,
      "new_path": "drivers/ata/pata_opti.c"
    },
    {
      "type": "modify",
      "old_id": "ba2819ff964b62542b218da356f801f9aca30f39",
      "old_mode": 33188,
      "old_path": "drivers/ata/pata_optidma.c",
      "new_id": "36ac147de1789554c25bda6a1b5dbebb9d749f1f",
      "new_mode": 33188,
      "new_path": "drivers/ata/pata_optidma.c"
    },
    {
      "type": "modify",
      "old_id": "f619c20dd19299d0a16acc8dacb894d7abf4ca33",
      "old_mode": 33188,
      "old_path": "drivers/ata/pata_pdc2027x.c",
      "new_id": "d235c9f92d0915c8bc59ae59db76942c381b598a",
      "new_mode": 33188,
      "new_path": "drivers/ata/pata_pdc2027x.c"
    },
    {
      "type": "modify",
      "old_id": "033d1f3a82deae742e7f6fbee7383d4f100fdb62",
      "old_mode": 33188,
      "old_path": "drivers/ata/pata_scc.c",
      "new_id": "07f2d7a6f1a829cca2b81963f3274e6904af848f",
      "new_mode": 33188,
      "new_path": "drivers/ata/pata_scc.c"
    },
    {
      "type": "modify",
      "old_id": "28abfc26e7a4e3cde9fac76d388f36723d9d7912",
      "old_mode": 33188,
      "old_path": "drivers/ata/pata_sis.c",
      "new_id": "793e6714df8c55d1bbfbb6d18058a6d9e36615d2",
      "new_mode": 33188,
      "new_path": "drivers/ata/pata_sis.c"
    },
    {
      "type": "modify",
      "old_id": "1d97f920bd2b074270c1886f8ac559f6ac905891",
      "old_mode": 33188,
      "old_path": "drivers/ata/pata_sl82c105.c",
      "new_id": "bee11ca8f55aea85d52ccba534dda9dab007cc53",
      "new_mode": 33188,
      "new_path": "drivers/ata/pata_sl82c105.c"
    },
    {
      "type": "modify",
      "old_id": "f07b0e5df222f37968407210002570f2b28ccc96",
      "old_mode": 33188,
      "old_path": "drivers/ata/pata_triflex.c",
      "new_id": "bd546a389ce12bef0d0d07b71abbff8a895cfcea",
      "new_mode": 33188,
      "new_path": "drivers/ata/pata_triflex.c"
    },
    {
      "type": "modify",
      "old_id": "f4092cbd566f9b8d7388f44380d5f73440c7be02",
      "old_mode": 33188,
      "old_path": "drivers/ata/pata_via.c",
      "new_id": "2928fa1731322c8311ebb5106382fdab6846019b",
      "new_mode": 33188,
      "new_path": "drivers/ata/pata_via.c"
    },
    {
      "type": "modify",
      "old_id": "a5706149af6b82733406329725d9c0c92387ec64",
      "old_mode": 33188,
      "old_path": "drivers/ata/pdc_adma.c",
      "new_id": "5ed065d0ab4cb9d76f37d350f707704eed85a29d",
      "new_mode": 33188,
      "new_path": "drivers/ata/pdc_adma.c"
    },
    {
      "type": "modify",
      "old_id": "865030ae8f8a7c26b99d8747771b4c067060921f",
      "old_mode": 33188,
      "old_path": "drivers/ata/sata_fsl.c",
      "new_id": "676302fdaa9782ed8eeea7afdb3144a1efa4f496",
      "new_mode": 33188,
      "new_path": "drivers/ata/sata_fsl.c"
    },
    {
      "type": "modify",
      "old_id": "047f80f5825c15b127c1b87ca24a31748eb9ecb8",
      "old_mode": 33188,
      "old_path": "drivers/ata/sata_inic162x.c",
      "new_id": "ba1c09953517c5273ffa23a47477b8043ed8b5fd",
      "new_mode": 33188,
      "new_path": "drivers/ata/sata_inic162x.c"
    },
    {
      "type": "modify",
      "old_id": "f341a82d27bf26366e9a4703645da6ab1c70a071",
      "old_mode": 33188,
      "old_path": "drivers/ata/sata_mv.c",
      "new_id": "9a89390531b1fc0416b789bb48e189a0fb28aeb2",
      "new_mode": 33188,
      "new_path": "drivers/ata/sata_mv.c"
    },
    {
      "type": "modify",
      "old_id": "5637b082bc85ea6d7abeee17b11bcad67ff61336",
      "old_mode": 33188,
      "old_path": "drivers/ata/sata_nv.c",
      "new_id": "b2eb5724cf85509f62d7e66de47f124d6c57fb92",
      "new_mode": 33188,
      "new_path": "drivers/ata/sata_nv.c"
    },
    {
      "type": "modify",
      "old_id": "e09b975c973df0a6370d188d4880616264d9398b",
      "old_mode": 33188,
      "old_path": "drivers/ata/sata_promise.c",
      "new_id": "91659dc15caf81ae5a986be369b6b063d8a20825",
      "new_mode": 33188,
      "new_path": "drivers/ata/sata_promise.c"
    },
    {
      "type": "modify",
      "old_id": "107ef09814deb2c819aa6c6d44335a35e993954b",
      "old_mode": 33188,
      "old_path": "drivers/ata/sata_qstor.c",
      "new_id": "2ceb0990bcd899a384a0443a762059eb4e066118",
      "new_mode": 33188,
      "new_path": "drivers/ata/sata_qstor.c"
    },
    {
      "type": "modify",
      "old_id": "363fb90e1047bc74ae4aae5b104c353d28485e45",
      "old_mode": 33188,
      "old_path": "drivers/ata/sata_sil24.c",
      "new_id": "67df1d753305dd681b843faff515b8d409a28407",
      "new_mode": 33188,
      "new_path": "drivers/ata/sata_sil24.c"
    },
    {
      "type": "modify",
      "old_id": "6326bcf8ea5df715da13991898d66bfd41e452c7",
      "old_mode": 33188,
      "old_path": "drivers/ata/sata_via.c",
      "new_id": "402fd7333d48b861e8183cd235d61f421994dd64",
      "new_mode": 33188,
      "new_path": "drivers/ata/sata_via.c"
    },
    {
      "type": "modify",
      "old_id": "c72014a3e7d40ea16e8c02f10976162746c7d02a",
      "old_mode": 33188,
      "old_path": "drivers/scsi/ipr.c",
      "new_id": "79fd2436bd70840d0ebc92c5081edbc1907398fb",
      "new_mode": 33188,
      "new_path": "drivers/scsi/ipr.c"
    },
    {
      "type": "modify",
      "old_id": "88c6fa84ed742e444368e84fa09cafbc170f47f1",
      "old_mode": 33188,
      "old_path": "include/linux/libata.h",
      "new_id": "01c233303aeef82853dd8d925f1d52220a08319b",
      "new_mode": 33188,
      "new_path": "include/linux/libata.h"
    }
  ]
}
