title: MISRA-C warning during initialization enum type
body: <p>Following enum defined in my code</p>
  
  <pre><code>typedef enum e_gpio_pin
  {
      GPIO_PIN_1 = 1,     /*!&lt; pin 1 */
      GPIO_PIN_2,         /*!&lt; pin 2 */
      GPIO_PIN_3,         /*!&lt; pin 3 */
      GPIO_PIN_4,         /*!&lt; pin 4 */
      GPIO_PIN_5,         /*!&lt; pin 5 */
      GPIO_PIN_6,         /*!&lt; pin 6 */
      GPIO_PIN_7,         /*!&lt; pin 7 */
      GPIO_PIN_8,         /*!&lt; pin 8 */
      GPIO_PIN_9,         /*!&lt; pin 9 */
      GPIO_PIN_10,            /*!&lt; pin 10 */
      GPIO_PIN_FIRST = GPIO_PIN_1,    /*!&lt; first pin */
      GPIO_PIN_LAST = GPIO_PIN_10 /*!&lt; last pin */
  } T_GPIO_PIN;
  </code></pre>
  
  <p>Now below line have used to initialize the variable.</p>
  
  <pre><code> static const T_GPIO_PIN ioPin = GPIO_PIN_9;
  </code></pre>
  
  <p>and i got below warning </p>
  
  <blockquote>
    <p>An expression value of essential type 'Essentially
    Enum' is assigned to an object of essential type
    'Essentially Enum' comment : MISRA 10.3 (C90-2012 req.)</p>
  </blockquote>
  
  <p>is anyone have idea how can i resolve this warning?</p>