Adaptation/GUID-C9923DF3-8425-4EB4-8066-FB5A92A85F5B.dita
changeset 15 307f4279f433
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Adaptation/GUID-C9923DF3-8425-4EB4-8066-FB5A92A85F5B.dita	Fri Oct 15 14:32:18 2010 +0100
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"Eclipse Public License v1.0" which accompanies this distribution, 
+and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
+<!-- Initial Contributors:
+    Nokia Corporation - initial contribution.
+Contributors: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-C9923DF3-8425-4EB4-8066-FB5A92A85F5B" xml:lang="en"><title>Adaptation Process Guide</title><shortdesc>Adaptation is the process of porting a platform on to a
+new hardware configuration. The existing process requires developers
+to write new hardware abstractions for any changes in the hardware
+configuration. Platform services provide a simple standard interface
+that reduces the adaptation time for a given hardware component.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
+<section id="GUID-2CD8042D-F591-430B-8A07-B22502C908DD"><title>Hardware </title><p>A hardware component can be added to introduce a new feature or
+create a new variant of an existing feature. Mobile phones are developed
+with various form factors, a new variant is created for each form
+factor. </p><p>A particular new piece of hardware may require several
+platform services to be used to support all the functionality of that
+hardware. A camera may provide photos and video streams and require
+the use of a GPIO platform service to configure the camera resolution,
+to set focal distance, or to trigger the shutter.</p><fig id="GUID-D88555D3-7BC1-49AA-BC14-0FAE8BDE0475">
+<title>Basic blocks of an adaptation</title>
+<image href="GUID-5392507E-45FF-4B20-B257-E58E23685295_d0e410_href.png" placement="inline"/>
+</fig></section>
+<section id="GUID-90AED82D-2F1B-4FF4-8484-EDF00743A58A"><title>Platform
+services</title><p>Platform services are intended to be platform agnostic
+and aim to reduce the porting time of hardware adaptation from one
+platform to other. Platform services can be broadly classified into
+two categories:</p><ol>
+<li id="GUID-AC4E61B7-7124-46C6-A4CE-D79AAE733CD6"><p>Platform services
+that provide a service to other platform services.</p></li>
+<li id="GUID-8F6EF6E1-C8A5-4470-A913-54DB04FB833E"><p>Platform services
+that use various kernel services and other platform services to drive
+a hardware component.</p></li>
+</ol><fig id="GUID-BAF6CE9B-80C3-4BC2-B495-FB24F871ED00">
+<title> Types of platform service</title>
+<image href="GUID-14B65BE7-A166-48B6-B43D-DFF267F87F9E_d0e433_href.png" placement="inline"/>
+</fig><p>The adaptation developer should identify the platform services
+ required to implement the new hardware. Some platform services may
+already be implemented for other hardware and so it may be a simple
+matter of reusing another implementation with minor modifications
+for your particular component.</p></section>
+<section id="GUID-39421865-C5D6-4FA6-8821-DE09FA1F4837"><title>Hardware
+configurations</title><p>The adaptation will use certain hardware
+configurations and some of the configuration parameters can be reused.
+Reusable hardware configurations can be stored in a repository called
+the Hardware Configuration Repository (HCR). The HCR allows the configurations
+to be stored in the repository during various stages of the device
+creation. The HCR platform service provides APIs to the kernel and
+device drivers to read the values stored in the repository. For more
+information, see the <xref href="GUID-14F5433A-16F4-4F01-8A7B-C8E26F46C98B.dita">HCR Platform Service</xref> documentation.</p></section>
+<section id="GUID-6E9C4D9C-E0ED-44E8-84BE-49383DA26A15"><title>Implementation</title><p>The adaptation developer needs to know the specifications to implement
+a hardware on the device. The implementation process involves the
+identification of other services that must be implemented to support
+a hardware. The other services may be provided by other platform services,
+kernel extensions or drivers of other hardware components.</p></section>
+<section id="GUID-1AE8935F-E212-4D13-B7D7-47A5C7D14101"><title>Platform
+service compliance</title><p>Once the hardware component is implemented,
+the developer must ensure that the implementation conforms to the
+relevant platform service compliance testing. If the test fails then
+the adaptation code should be modified until the tests pass. </p></section>
+<section id="GUID-1E15BAC5-45DC-4550-AFC3-5CF72B72E2E5"><title>Adaptation
+process</title><p>The adaptation process can be summarized as:</p><ol>
+<li id="GUID-14817153-B03B-40EE-BACB-EAF2D66D3575"><p>Identify the
+hardware</p></li>
+<li id="GUID-3D250941-5BC5-4310-AB66-FFE520D381FB"><p>Identify the
+platform services required to implement the hardware component</p></li>
+<li id="GUID-A66BEC8A-7096-4506-9F5D-30AB793E165E"><p>Identify the
+dependencies</p></li>
+<li id="GUID-F381E27C-27B0-44D1-9592-350F73C1C63F"><p>Identify the
+required interfaces to be implemented</p></li>
+<li id="GUID-FD30A917-2A08-4575-8FE5-D8A50FF0779A"><p>Implement the
+required interfaces</p></li>
+<li id="GUID-F161C4E8-922F-41B1-A1BF-F9AB4B1339CA"><p>Build and test
+the interfaces</p></li>
+<li id="GUID-B7747558-12DD-420E-824C-7B6C0524E781"><p>Modify the implementation,
+if required</p></li>
+</ol><fig id="GUID-F0B99DE7-32BF-4C55-B3A4-5632D89DAF39">
+<title>Adaptation process flowchart</title>
+<image href="GUID-04FF36CE-DEFA-45DC-BAAF-77F3BB649AFF_d0e499_href.png" placement="inline"/>
+</fig></section>
+</conbody><related-links>
+<link href="GUID-D5EE0A17-2246-4CB3-9CE5-538F1E01F8D4.dita"><linktext>What
+is Adaptation?</linktext></link>
+<link href="GUID-95BD3650-08CB-407D-969E-DFDB39B2FEFC.dita"><linktext>What
+is a Platform Service?</linktext></link>
+<link href="GUID-A74F0245-1A37-41C8-B0E9-63AF858EE4B6.dita"><linktext>Platform
+Services</linktext></link>
+</related-links></concept>
\ No newline at end of file